name: Launcher checks on: push: pull_request: workflow_dispatch: permissions: contents: read concurrency: group: checks-${{ github.ref }} cancel-in-progress: true jobs: publisher: # Ubuntu 22.04 has no minisign package. Keep the desktop compatibility # check there, but exercise real signature verification on Ubuntu 24.04. runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 - run: sudo apt-get update && sudo apt-get install -y minisign - run: python3 -m unittest discover -s scripts -p 'test_*.py' admission-client: runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 - uses: actions/setup-java@v4 with: distribution: temurin java-version: '25' - name: Check the Minigames admission companion working-directory: admission-client run: ./gradlew test build --no-daemon - uses: actions/upload-artifact@v4 with: name: shacraft-admission-client if-no-files-found: error path: admission-client/build/libs/shacraft-admission-client-0.1.0.jar check: runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: 22 cache: npm - uses: dtolnay/rust-toolchain@stable - name: Install Linux desktop dependencies run: | sudo apt-get update sudo apt-get install -y libwebkit2gtk-4.1-dev libayatana-appindicator3-dev librsvg2-dev patchelf - run: npm ci - run: npm test - run: npm run build - run: cargo test --locked --manifest-path src-tauri/Cargo.toml