Port Rust packages to crane, swap CI cache to cachix #518
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: ci | |
| on: | |
| push: | |
| branches: | |
| - master | |
| pull_request: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| nix: | |
| permissions: | |
| id-token: "write" | |
| contents: "read" | |
| runs-on: ubuntu-latest | |
| env: | |
| RUSTFLAGS: "-D warnings" | |
| RUSTDOCFLAGS: "-D warnings" | |
| # Trim debuginfo to keep `target/` under the runner's ~14GB disk limit; | |
| # full debuginfo for this bevy-scale build fills the disk at link time. | |
| CARGO_PROFILE_DEV_DEBUG: "line-tables-only" | |
| CARGO_PROFILE_TEST_DEBUG: "line-tables-only" | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - command: develop -c cargo check --locked --all | |
| - command: develop -c cargo doc --all-features --locked --no-deps | |
| - command: develop -c cargo fmt --all -- --check | |
| - command: develop -c cargo test --locked --all | |
| - command: develop -c cargo test --no-default-features --locked --all | |
| # Feature unification via the app re-enables gantz_plyphon's `egui` | |
| # feature in the --all run above, so headless gantz_plyphon needs its | |
| # own entry to stay verified. | |
| - command: develop -c cargo test -p gantz_plyphon --no-default-features --locked | |
| - command: develop -c cargo test --all-features --locked --all | |
| - command: fmt -- --ci | |
| - command: flake check --no-update-lock-file | |
| - command: build --print-build-logs --no-update-lock-file .#gantz-website | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - uses: DeterminateSystems/nix-installer-action@main | |
| - uses: cachix/cachix-action@v17 | |
| with: | |
| name: mitchmindtree-gantz | |
| authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}" | |
| - uses: Swatinem/rust-cache@v2 | |
| - run: nix ${{ matrix.command }} | |
| upload-pr-preview-artifact: | |
| needs: nix | |
| if: github.event_name == 'pull_request' && github.event.action != 'closed' | |
| runs-on: ubuntu-latest | |
| permissions: | |
| id-token: write | |
| contents: read | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - uses: DeterminateSystems/nix-installer-action@main | |
| - uses: cachix/cachix-action@v17 | |
| with: | |
| name: mitchmindtree-gantz | |
| authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}" | |
| - run: nix build --print-build-logs .#gantz-website | |
| - name: Prepare artifact | |
| run: | | |
| cp -rL result artifact | |
| chmod -R u+w artifact | |
| echo "${{ github.event.pull_request.number }}" > artifact/PR_NUMBER | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: pr-preview-${{ github.event.pull_request.number }} | |
| path: artifact/ | |
| deploy-gantz-website: | |
| needs: nix | |
| if: github.ref == 'refs/heads/master' | |
| permissions: | |
| id-token: write | |
| contents: write | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - uses: DeterminateSystems/nix-installer-action@main | |
| - uses: cachix/cachix-action@v17 | |
| with: | |
| name: mitchmindtree-gantz | |
| authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}" | |
| - run: nix build --print-build-logs .#gantz-website | |
| - uses: peaceiris/actions-gh-pages@v4 | |
| with: | |
| github_token: ${{ secrets.GITHUB_TOKEN }} | |
| publish_dir: ./result | |
| keep_files: true |