feat: virtual-hosted S3 addressing (CLI + in-pod) #228
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: test | |
| # Workspace tests on every PR to main and on main. Separate workflow | |
| # (not a job in a combined `ci`) so it has its own status badge. | |
| on: | |
| pull_request: | |
| branches: [main] | |
| push: | |
| branches: [main] | |
| workflow_dispatch: | |
| concurrency: | |
| group: test-${{ github.ref }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| jobs: | |
| test: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| # The lean CI nix store (~1.7G) + restored cargo cache + the build | |
| # can exceed ubuntu-latest's ~14G free disk and crash the runner | |
| # with "No space left on device" (hit on the v0.6.0 main run). | |
| # Reclaim ~20G of preinstalled tooling we never use, before the nix | |
| # store + caches populate. | |
| - name: Free up runner disk | |
| run: | | |
| sudo rm -rf /usr/local/lib/android /opt/ghc /usr/local/.ghcup \ | |
| /usr/share/dotnet /opt/hostedtoolcache/CodeQL | |
| df -h / | |
| - uses: DeterminateSystems/nix-installer-action@v16 | |
| with: | |
| # Trust the cachix substituter at the *system* nix.conf level | |
| # — flake `nixConfig` is ignored non-interactively (untrusted). | |
| extra-conf: | | |
| extra-substituters = https://nix-community.cachix.org | |
| extra-trusted-public-keys = nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs= | |
| accept-flake-config = true | |
| - uses: nix-community/cache-nix-action@v7 | |
| with: | |
| # Re-trialing the community Nix-store cache (removed before for | |
| # GC/symlink/perms breakage on Determinate runners) now that the | |
| # CI shell is lean — watch for those failure modes recurring. | |
| primary-key: nix-${{ runner.os }}-ci-${{ hashFiles('flake.lock', 'rust-toolchain.toml') }} | |
| restore-prefixes-first-match: nix-${{ runner.os }}-ci- | |
| # No gc-max-store-size: the ~1.7G toolchain closure must be | |
| # saved whole — capping it GCs paths back out and the restore | |
| # comes back incomplete (defeats the cache). | |
| purge: true | |
| purge-prefixes: nix-${{ runner.os }}-ci- | |
| purge-created: 0 | |
| purge-primary-key: never | |
| - uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ~/.cargo/registry | |
| ~/.cargo/git | |
| target | |
| key: cargo-${{ runner.os }}-${{ hashFiles('Cargo.lock') }} | |
| restore-keys: cargo-${{ runner.os }}- | |
| - run: nix develop .#ci -c cargo test --workspace |