Repository navigation
test: separate maintenance crash preparation from sweep deadline #557
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: Verify | |
| on: | |
| push: | |
| pull_request: | |
| permissions: | |
| contents: read | |
| jobs: | |
| node-quality: | |
| runs-on: windows-latest | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 | |
| with: | |
| node-version: 22 | |
| cache: npm | |
| - run: npm ci | |
| - run: npm run format:check | |
| - run: npm run check:syntax | |
| - run: npm run lint | |
| - run: npm run check:ci | |
| - run: npm run release:check | |
| - run: npm run test:frontend | |
| - run: npm run frontend:build | |
| - run: npm audit --audit-level=high | |
| - run: npm run test:hooks | |
| unit-tests: | |
| runs-on: windows-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| shard: [0, 1, 2, 3] | |
| env: | |
| TEST_SHARD_COUNT: 4 | |
| TEST_SHARD_INDEX: ${{ matrix.shard }} | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 | |
| with: | |
| node-version: 22 | |
| cache: npm | |
| - run: npm ci | |
| - run: npm ci --prefix plugins/hpm-local-evidence --ignore-scripts | |
| - run: rustup default stable | |
| - run: npm run test:unit | |
| coverage: | |
| runs-on: windows-latest | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 | |
| with: | |
| node-version: 22 | |
| cache: npm | |
| - run: npm ci | |
| - run: npm ci --prefix plugins/hpm-local-evidence --ignore-scripts | |
| - run: rustup default stable | |
| - name: Execute complete original coverage commands with owned file recording windows | |
| shell: pwsh | |
| env: | |
| HPM_COVERAGE_IO: ${{ github.sha }} | |
| run: | | |
| $ErrorActionPreference = 'Stop' | |
| $PSNativeCommandUseErrorActionPreference = $false | |
| $env:HPM_COVERAGE_IO_STAGE = 'proxy' | |
| $env:HPM_COVERAGE_IO_PROXY_WINDOW = 'publication-interruption' | |
| npm run test:coverage | |
| $coverageExit = $LASTEXITCODE | |
| if ($coverageExit -ne 0) { [Console]::Error.WriteLine('coverage_original_stage_failed:stage=' + $env:HPM_COVERAGE_IO_STAGE) } | |
| node scripts/check-coverage-io-receipt.cjs | |
| if ($LASTEXITCODE -ne 0) { throw 'Coverage I/O observation was not completed safely.' } | |
| if ($coverageExit -ne 0) { throw 'Original proxy coverage failed; I/O evidence does not override its failure.' } | |
| Remove-Item Env:\HPM_COVERAGE_IO_PROXY_WINDOW | |
| $env:HPM_COVERAGE_IO_STAGE = 'client' | |
| npm run test:client:coverage | |
| $coverageExit = $LASTEXITCODE | |
| if ($coverageExit -ne 0) { [Console]::Error.WriteLine('coverage_original_stage_failed:stage=' + $env:HPM_COVERAGE_IO_STAGE) } | |
| node scripts/check-coverage-io-receipt.cjs | |
| if ($LASTEXITCODE -ne 0) { throw 'Client coverage I/O observation was not completed safely.' } | |
| if ($coverageExit -ne 0) { throw 'Original client coverage failed; I/O evidence does not override its failure.' } | |
| npm run test:frontend:coverage | |
| if ($LASTEXITCODE -ne 0) { throw 'Original frontend coverage failed.' } | |
| integration-tests: | |
| runs-on: windows-latest | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 | |
| with: | |
| node-version: 22 | |
| cache: npm | |
| - run: npm ci | |
| - run: npm run test:thinking | |
| - run: npm run test:env | |
| - run: npm run test:integration | |
| rust-tests: | |
| runs-on: windows-latest | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 | |
| with: | |
| node-version: 22 | |
| cache: npm | |
| - run: rustup default stable | |
| - uses: Swatinem/rust-cache@42dc69e1aa15d09112580998cf2ef0119e2e91ae # v2 | |
| with: | |
| workspaces: src-tauri | |
| - run: npm ci | |
| - run: npm run release:prepare | |
| - run: npm run test:recovery-native | |
| - run: cargo fmt --manifest-path src-tauri/Cargo.toml -- --check | |
| - run: cargo clippy --manifest-path src-tauri/Cargo.toml --all-targets -- -D warnings | |
| - run: npm run test:rust | |
| - run: cargo install cargo-audit --version 0.22.2 --locked | |
| - run: node scripts/check-windows-rust-audit.js | |
| - run: cargo audit --file native/context-recovery-key/Cargo.lock |