ReviewOS

also looking at this

stacks/drone

fix: separate native runtime builds from test deadlines

#69
Merged chris wants to merge codex/runtime-cold-build-setup into main
10 files +399 -14
.github/workflows/ci.ymlmodified+28-0
Changes to .github/workflows/ci.yml
@@ -30,6 +30,34 @@ jobs:
3030 - run: bun run parity:check
3131 - run: python3 -m py_compile resources/functions/drone/camera/imx500_worker.py
3232 - run: python3 -m unittest discover -s tests/hardware
33 - name: Qualify cold build setup across the former hook deadline
34 run: bun scripts/qualify-runtime-cold-build.ts "$RUNNER_TEMP/runtime-cold-build"
35 - uses: actions/upload-artifact@v4
36 if: always()
37 with:
38 name: runtime-cold-build-evidence
39 if-no-files-found: ignore
40 retention-days: 7
41 path: |
42 ${{ runner.temp }}/runtime-cold-build/receipt.json
43 ${{ runner.temp }}/runtime-cold-build/capture-result.json
44 ${{ runner.temp }}/runtime-cold-build/tool-events.ndjson
45 ${{ runner.temp }}/runtime-cold-build/stdout.log
46 ${{ runner.temp }}/runtime-cold-build/stderr.log
47 ${{ runner.temp }}/runtime-cold-build/project/firmware/runtime/CMakeLists.txt
48 - name: Verify cold-build evidence failure cannot bypass detached tool cleanup
49 run: bun scripts/qualify-runtime-cold-build.ts "$RUNNER_TEMP/runtime-cold-report-failure" --interrupt-before-capture-report
50 - uses: actions/upload-artifact@v4
51 if: always()
52 with:
53 name: runtime-cold-report-failure-evidence
54 if-no-files-found: ignore
55 retention-days: 7
56 path: |
57 ${{ runner.temp }}/runtime-cold-report-failure/receipt.json
58 ${{ runner.temp }}/runtime-cold-report-failure/tool-events.ndjson
59 ${{ runner.temp }}/runtime-cold-report-failure/stdout.log
60 ${{ runner.temp }}/runtime-cold-report-failure/stderr.log
3361 - name: Verify a kernel-confirmed full input pipe on Linux
3462 run: bun test tests/unit/runtime.test.ts --test-name-pattern 'kernel-confirmed full input FIFO'
3563 - name: Verify an actual partial host image write and fresh-process recovery