name: Launcher checks on: push: pull_request: workflow_dispatch: permissions: contents: read concurrency: group: checks-${{ github.ref }} cancel-in-progress: true jobs: check: runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: 22 cache: npm - uses: actions/setup-python@v5 with: python-version: '3.12' - uses: dtolnay/rust-toolchain@stable - name: Install Linux desktop dependencies run: | # Ubuntu 22.04 keeps distro sources here; unrelated vendor repos are not needed. test -s /etc/apt/sources.list apt_options=( -o Dir::Etc::sourcelist=/etc/apt/sources.list -o Dir::Etc::sourceparts=- ) sudo apt-get "${apt_options[@]}" --error-on=any update sudo apt-get "${apt_options[@]}" install -y libwebkit2gtk-4.1-dev libayatana-appindicator3-dev librsvg2-dev patchelf - run: npm ci - run: npm test - run: npm run build - run: cargo build --locked --release --manifest-path scripts/release-verifier/Cargo.toml - run: python -m unittest discover -s scripts -p 'release_test.py' -v - run: cargo test --locked --manifest-path src-tauri/Cargo.toml