# Every change: format, clippy and rustdoc with zero warnings, every test. # Tools come from mise.toml, the same as on a laptop. name: check on: push: pull_request: # A newer push to the same branch makes an older check pointless: it is # cancelled, so only the newest reports. concurrency: group: check-${{ github.ref }} cancel-in-progress: true jobs: check: runs-on: ubuntu-24.04 # The runner's disk is small (the first run after P6 landed died in # the linker: "No space left on device", ld killed by SIGBUS). A fresh # runner gains nothing from incremental caches, and line tables keep # file:line in a panic's backtrace at a fraction of full debug info. env: CARGO_INCREMENTAL: "0" CARGO_PROFILE_DEV_DEBUG: line-tables-only CARGO_PROFILE_TEST_DEBUG: line-tables-only steps: - uses: actions/checkout@v4 - name: Room for the build (the image ships toolchains we never use) run: | sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc \ /opt/hostedtoolcache/CodeQL /usr/local/.ghcup df -h / | tail -1 - uses: jdx/mise-action@v2 - name: GUI build dependencies run: sudo apt-get update && sudo apt-get install -y libxkbcommon-dev libgtk-3-dev - run: just check - name: What the build used if: always() run: df -h / | tail -1