docs(vrs): restore the strict validation gate #991
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: Nix | |
| on: | |
| pull_request: | |
| push: | |
| branches: [main] | |
| # One in-flight run per ref: a superseded PR run should not keep three Linux | |
| # shards and a macOS build competing for hosted capacity. | |
| concurrency: | |
| group: nix-${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: ${{ github.event_name == 'pull_request' }} | |
| # Linux uses four build-graph shards so each remaining cold Rust derivation gets a | |
| # runner instead of competing with an unrelated compile. The aggregation job | |
| # preserves the stable `check-x86_64-linux` status used by branch protection. | |
| jobs: | |
| check-x86_64-linux-shard: | |
| name: check-x86_64-linux (${{ matrix.group }}) | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 45 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - group: package | |
| targets: >- | |
| .#checks.x86_64-linux.st2 | |
| .#checks.x86_64-linux.debug-assertions | |
| .#checks.x86_64-linux.help | |
| .#checks.x86_64-linux.completions | |
| .#checks.x86_64-linux.hooks-replacement | |
| .#checks.x86_64-linux.pty-fleet-contract | |
| - group: providers | |
| targets: >- | |
| .#checks.x86_64-linux.provider-components | |
| .#checks.x86_64-linux.wasip2-resource-providers | |
| - group: integration | |
| targets: >- | |
| .#checks.x86_64-linux.release-integration | |
| .#checks.x86_64-linux.pi-extension-types | |
| - group: wasm | |
| targets: >- | |
| .#checks.x86_64-linux.wasm-resolver-feature | |
| .#checks.x86_64-linux.wasm-resolver-artifact | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: DeterminateSystems/determinate-nix-action@v3 | |
| - run: nix build --no-link --print-build-logs ${{ matrix.targets }} | |
| check-x86_64-linux: | |
| if: always() | |
| needs: check-x86_64-linux-shard | |
| runs-on: ubuntu-latest | |
| steps: | |
| - run: test "${{ needs.check-x86_64-linux-shard.result }}" = success | |
| # st2 drives real processes — process groups, signals, pipes, reaping — and those paths | |
| # are OS behaviour, not portable Rust: #356 and #255 were aarch64-darwin failures no Linux | |
| # run could have caught. The hosted macOS runner is arm64 with 3 cores, so it is also a | |
| # stricter scheduler than any Mac in the fleet, which makes it a good detector for | |
| # load-sensitive lifecycle tests. | |
| # | |
| # Narrower than its Linux sibling on purpose: `nix build .#st2` builds the package and runs | |
| # its hermetic suite via `doCheck` — the surface those issues live on — without also | |
| # demanding cold aarch64-darwin builds of the inputs used by | |
| # `checks.release-integration` on Linux. Widen once this is stable. | |
| check-aarch64-darwin: | |
| runs-on: macos-15 | |
| timeout-minutes: 90 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: DeterminateSystems/determinate-nix-action@v3 | |
| - run: nix build .#st2 --no-link --print-build-logs |