Consolidate the marker helper, lint the harness, classify the repo #136
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 — Build & QEMU smoke test | |
| on: | |
| push: | |
| branches: [main, master] | |
| pull_request: | |
| branches: [main, master] | |
| jobs: | |
| build-and-test: | |
| runs-on: ubuntu-latest | |
| env: | |
| GO_VERSION: "1.25.3" | |
| TINYGO_VERSION: "0.40.1" | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install system dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y --no-install-recommends \ | |
| nasm xorriso qemu-system-x86 \ | |
| python3 python3-pytest \ | |
| git make curl wget binutils ca-certificates | |
| # Go + TinyGo pinned to match Dockerfile/tools. | |
| - name: Install Go | |
| run: | | |
| curl -fsSL "https://go.dev/dl/go${GO_VERSION}.linux-amd64.tar.gz" -o /tmp/go.tar.gz | |
| sudo tar -C /usr/local -xzf /tmp/go.tar.gz | |
| echo "/usr/local/go/bin" >> "$GITHUB_PATH" | |
| - name: Install TinyGo | |
| run: | | |
| curl -fsSL "https://github.com/tinygo-org/tinygo/releases/download/v${TINYGO_VERSION}/tinygo_${TINYGO_VERSION}_amd64.deb" -o /tmp/tinygo.deb | |
| sudo apt-get install -y /tmp/tinygo.deb | |
| # TinyGo .deb install location differs across environments. | |
| if [ -x /usr/local/lib/tinygo/bin/tinygo ]; then | |
| echo "/usr/local/lib/tinygo/bin" >> "$GITHUB_PATH" | |
| fi | |
| if [ -x /usr/lib/tinygo/bin/tinygo ]; then | |
| echo "/usr/lib/tinygo/bin" >> "$GITHUB_PATH" | |
| fi | |
| - name: Verify TinyGo | |
| run: | | |
| go version | |
| command -v tinygo | |
| tinygo version | |
| - name: Install Rust nightly | |
| uses: dtolnay/rust-toolchain@nightly | |
| with: | |
| components: rust-src | |
| - name: Verify vendored Limine checksums | |
| run: cd vendor/limine && sha256sum -c SHA256SUMS | |
| - name: Build kernel | |
| run: make kernel | |
| - name: Build demo userspace | |
| run: make userspace | |
| - name: Create bootable ISO (offline — no git clone) | |
| run: make image-kernel | |
| env: | |
| GIT_TERMINAL_PROMPT: "0" | |
| - name: Reproducible ISO check | |
| run: make repro-check | |
| - name: QEMU smoke tests | |
| run: make gate-all | |
| - name: Compatibility profile v1 gate | |
| env: | |
| RUGO_COMPAT_STRICT: "1" | |
| run: | | |
| python3 -m pytest tests/compat -v | |
| python3 -m pytest tests/pkg/test_pkg_external_apps.py -v | |
| - name: Hardware matrix v1 gate | |
| run: | | |
| make image-blk image-blk-badlen image-blk-badptr image-net | |
| python3 -m pytest tests/hw/test_hardware_matrix_v1.py tests/hw/test_probe_negative_paths_v1.py tests/hw/test_dma_safety_v1.py -v --junitxml=out/pytest-hw-matrix.xml | |
| - name: Upload hardware matrix JUnit report | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: hw-matrix-junit | |
| path: out/pytest-hw-matrix.xml | |
| - name: Hardware matrix v2 gate | |
| run: | | |
| make test-hw-matrix-v2 | |
| - name: Upload hardware matrix v2 JUnit report | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: hw-matrix-v2-junit | |
| path: out/pytest-hw-matrix-v2.xml | |
| - name: Process scheduler v2 gate | |
| run: | | |
| make test-process-scheduler-v2 | |
| - name: Upload process scheduler v2 JUnit report | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: process-scheduler-v2-junit | |
| path: out/pytest-process-scheduler-v2.xml | |
| - name: Compatibility profile v2 gate | |
| run: | | |
| make test-compat-v2 | |
| - name: Upload compatibility profile v2 JUnit report | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: compat-v2-junit | |
| path: out/pytest-compat-v2.xml | |
| - name: Storage reliability v2 gate | |
| run: | | |
| make test-storage-reliability-v2 | |
| - name: Upload storage reliability v2 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: storage-reliability-v2-artifacts | |
| path: | | |
| out/pytest-storage-reliability-v2.xml | |
| out/storage-recovery-v2.json | |
| out/storage-powerfail-v2.json | |
| - name: Security baseline v1 gate | |
| run: | | |
| make image-sec-rights image-sec-filter image-go | |
| python3 tools/secure_boot_manifest_v1.py sign \ | |
| --key "ci-boot-key-v1" \ | |
| --key-id "ci-key-2026-03" \ | |
| --base-dir . \ | |
| --out out/boot-manifest-v1.json \ | |
| --artifacts out/kernel.elf out/os.iso | |
| python3 tools/secure_boot_manifest_v1.py verify \ | |
| --key "ci-boot-key-v1" \ | |
| --base-dir . \ | |
| --manifest out/boot-manifest-v1.json | |
| python3 tools/run_security_fuzz_v1.py \ | |
| --seed 20260304 \ | |
| --iterations 1200 \ | |
| --cases 4 \ | |
| --out out/security-fuzz-report.json | |
| python3 -m pytest tests/security -v --junitxml=out/pytest-security.xml | |
| - name: Upload security gate artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: security-baseline-artifacts | |
| path: | | |
| out/pytest-security.xml | |
| out/security-fuzz-report.json | |
| out/boot-manifest-v1.json | |
| - name: Runtime + toolchain maturity v1 gate | |
| run: | | |
| make test-runtime-maturity | |
| - name: Upload runtime maturity artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: runtime-maturity-artifacts | |
| path: | | |
| out/gostd-contract.env | |
| out/runtime-toolchain-contract.env | |
| out/runtime-toolchain-repro.json | |
| - name: Network stack v1 gate | |
| run: | | |
| make test-network-stack-v1 | |
| - name: Upload network stack v1 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: network-stack-v1-artifacts | |
| path: | | |
| out/net-interop-v1.json | |
| out/net-soak-v1.json | |
| - name: Network stack v2 gate | |
| run: | | |
| make test-network-stack-v2 | |
| - name: Upload network stack v2 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: network-stack-v2-artifacts | |
| path: | | |
| out/pytest-network-stack-v2.xml | |
| out/net-interop-v2.json | |
| out/net-soak-v2.json | |
| - name: Storage reliability v1 gate | |
| run: | | |
| make test-storage-reliability-v1 | |
| - name: Upload storage reliability v1 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: storage-reliability-v1-artifacts | |
| path: | | |
| out/storage-recovery-v1.json | |
| out/storage-fault-campaign-v1.json | |
| - name: Release engineering v1 gate | |
| run: | | |
| make test-release-engineering-v1 | |
| make repro-check | |
| - name: Upload release engineering v1 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: release-engineering-v1-artifacts | |
| path: | | |
| out/release-bundle-v1.json | |
| out/release-contract-v1.json | |
| out/update-metadata-v1.json | |
| out/update-attack-suite-v1.json | |
| out/sbom-v1.spdx.json | |
| out/provenance-v1.json | |
| out/support-bundle-v1.json | |
| out/releases | |
| - name: Operability and release UX v2 gate | |
| run: | | |
| make test-release-ops-v2 | |
| - name: Upload release ops v2 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: release-ops-v2-artifacts | |
| path: | | |
| out/pytest-release-ops-v2.xml | |
| out/release-bundle-v1.json | |
| out/update-metadata-v2.json | |
| out/installer-v2.json | |
| out/install-state-v1.json | |
| out/upgrade-recovery-v2.json | |
| out/support-bundle-v2.json | |
| out/releases | |
| - name: ABI stability v3 gate | |
| run: | | |
| make test-abi-stability-v3 | |
| - name: Upload ABI stability v3 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: abi-stability-v3-artifacts | |
| path: | | |
| out/pytest-abi-stability-v3.xml | |
| out/abi-diff-v3.json | |
| out/syscall-compat-v3.json | |
| out/kernel-syscall-table.json | |
| out/gostd-syscall-interface.json | |
| - name: Kernel reliability v1 gate | |
| run: | | |
| make test-kernel-reliability-v1 | |
| - name: Upload kernel reliability v1 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: kernel-reliability-v1-artifacts | |
| path: | | |
| out/pytest-kernel-reliability-v1.xml | |
| out/kernel-soak-v1.json | |
| out/kernel-fault-campaign-v1.json | |
| - name: Hardware matrix v3 gate | |
| run: | | |
| make test-hw-matrix-v3 | |
| - name: Upload hardware matrix v3 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: hw-matrix-v3-artifacts | |
| path: | | |
| out/pytest-hw-matrix-v3.xml | |
| out/hw-diagnostics-v3.json | |
| - name: Firmware attestation v1 gate | |
| run: | | |
| make test-firmware-attestation-v1 | |
| - name: Upload firmware attestation v1 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: firmware-attestation-v1-artifacts | |
| path: | | |
| out/pytest-firmware-attestation-v1.xml | |
| out/measured-boot-v1.json | |
| - name: Performance regression v1 gate | |
| run: | | |
| make test-perf-regression-v1 | |
| - name: Upload performance regression v1 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: perf-regression-v1-artifacts | |
| path: | | |
| out/booted-runtime-v1.json | |
| out/pytest-perf-regression-v1.xml | |
| out/perf-baseline-v1.json | |
| out/perf-regression-v1.json | |
| - name: Userspace model v2 gate | |
| run: | | |
| make test-userspace-model-v2 | |
| - name: Upload userspace model v2 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: userspace-model-v2-artifacts | |
| path: | | |
| out/pytest-userspace-model-v2.xml | |
| - name: Connected runtime C4 gate | |
| run: | | |
| make test-connected-runtime-c4 | |
| - name: Upload connected runtime C4 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: connected-runtime-c4-artifacts | |
| path: | | |
| out/pytest-connected-runtime-c4.xml | |
| - name: Reliable isolated runtime C5 gate | |
| run: | | |
| make test-reliable-isolated-runtime-c5 | |
| - name: Upload reliable isolated runtime C5 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: reliable-isolated-runtime-c5-artifacts | |
| path: | | |
| out/pytest-reliable-isolated-runtime-c5.xml | |
| - name: Package ecosystem v3 gate | |
| run: | | |
| make test-pkg-ecosystem-v3 | |
| - name: Upload package ecosystem v3 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: pkg-ecosystem-v3-artifacts | |
| path: | | |
| out/pytest-pkg-ecosystem-v3.xml | |
| out/repo-policy-v3.json | |
| out/pkg-rebuild-v3.json | |
| - name: Update trust v1 gate | |
| run: | | |
| make test-update-trust-v1 | |
| - name: Upload update trust v1 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: update-trust-v1-artifacts | |
| path: | | |
| out/pytest-update-trust-v1.xml | |
| out/update-trust-v1.json | |
| out/update-key-rotation-drill-v1.json | |
| - name: App compatibility v3 gate | |
| run: | | |
| make test-app-compat-v3 | |
| - name: Upload app compatibility v3 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: app-compat-v3-artifacts | |
| path: | | |
| out/pytest-app-compat-v3.xml | |
| out/app-compat-matrix-v3.json | |
| - name: Security hardening v3 gate | |
| run: | | |
| make test-security-hardening-v3 | |
| - name: Upload security hardening v3 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: security-hardening-v3-artifacts | |
| path: | | |
| out/booted-runtime-v1.json | |
| out/pytest-security-hardening-v3.xml | |
| out/security-attack-suite-v3.json | |
| out/security-fuzz-v2.json | |
| - name: Vulnerability response v1 gate | |
| run: | | |
| make test-vuln-response-v1 | |
| - name: Upload vulnerability response v1 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: vuln-response-v1-artifacts | |
| path: | | |
| out/pytest-vuln-response-v1.xml | |
| out/security-advisory-lint-v1.json | |
| out/security-embargo-drill-v1.json | |
| - name: Observability v2 gate | |
| run: | | |
| make test-observability-v2 | |
| - name: Upload observability v2 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: observability-v2-artifacts | |
| path: | | |
| out/booted-runtime-v1.json | |
| out/pytest-observability-v2.xml | |
| out/trace-bundle-v2.json | |
| out/diagnostic-snapshot-v2.json | |
| out/crash-dump-v1.json | |
| out/crash-dump-symbolized-v1.json | |
| - name: Crash dump v1 gate | |
| run: | | |
| make test-crash-dump-v1 | |
| - name: Upload crash dump v1 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: crash-dump-v1-artifacts | |
| path: | | |
| out/pytest-crash-dump-v1.xml | |
| out/crash-dump-v1.json | |
| out/crash-dump-symbolized-v1.json | |
| - name: Ops UX v3 gate | |
| run: | | |
| make test-ops-ux-v3 | |
| - name: Upload ops UX v3 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ops-ux-v3-artifacts | |
| path: | | |
| out/pytest-ops-ux-v3.xml | |
| out/release-bundle-v1.json | |
| out/update-metadata-v3.json | |
| out/install-state-v1.json | |
| out/upgrade-drill-v3.json | |
| out/recovery-drill-v3.json | |
| out/releases | |
| - name: Release lifecycle v2 gate | |
| run: | | |
| make test-release-lifecycle-v2 | |
| - name: Upload release lifecycle v2 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: release-lifecycle-v2-artifacts | |
| path: | | |
| out/pytest-release-lifecycle-v2.xml | |
| out/release-bundle-v1.json | |
| out/release-contract-v1.json | |
| out/release-branch-audit-v2.json | |
| out/support-window-audit-v1.json | |
| out/supply-chain-revalidation-v1.json | |
| out/release-attestation-verification-v1.json | |
| out/releases | |
| - name: Supply-chain revalidation v1 gate | |
| run: | | |
| make test-supply-chain-revalidation-v1 | |
| - name: Upload supply-chain revalidation v1 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: supply-chain-revalidation-v1-artifacts | |
| path: | | |
| out/pytest-supply-chain-revalidation-v1.xml | |
| out/release-bundle-v1.json | |
| out/release-contract-v1.json | |
| out/supply-chain-revalidation-v1.json | |
| out/release-attestation-verification-v1.json | |
| out/sbom-v1.spdx.json | |
| out/provenance-v1.json | |
| out/releases | |
| - name: Conformance v1 gate | |
| run: | | |
| make test-conformance-v1 | |
| - name: Upload conformance v1 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: conformance-v1-artifacts | |
| path: | | |
| out/booted-runtime-v1.json | |
| out/release-attestation-verification-v1.json | |
| out/pkg-rebuild-v3.json | |
| out/pytest-conformance-v1.xml | |
| out/conformance-v1.json | |
| - name: Fleet ops v1 gate | |
| run: | | |
| make test-fleet-ops-v1 | |
| - name: Upload fleet ops v1 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: fleet-ops-v1-artifacts | |
| path: | | |
| out/booted-runtime-v1.json | |
| out/pytest-fleet-ops-v1.xml | |
| out/fleet-update-sim-v1.json | |
| out/fleet-health-sim-v1.json | |
| - name: Fleet rollout safety v1 gate | |
| run: | | |
| make test-fleet-rollout-safety-v1 | |
| - name: Upload fleet rollout safety v1 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: fleet-rollout-safety-v1-artifacts | |
| path: | | |
| out/booted-runtime-v1.json | |
| out/pytest-fleet-rollout-safety-v1.xml | |
| out/canary-rollout-sim-v1.json | |
| out/fleet-update-sim-v1.json | |
| out/fleet-health-sim-v1.json | |
| out/rollout-abort-drill-v1.json | |
| - name: Maturity qualification v1 gate | |
| run: | | |
| make test-maturity-qual-v1 | |
| - name: Upload maturity qualification v1 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: maturity-qualification-v1-artifacts | |
| path: | | |
| out/booted-runtime-v1.json | |
| out/pytest-maturity-qual-v1.xml | |
| out/security-attack-suite-v3.json | |
| out/release-attestation-verification-v1.json | |
| out/pkg-rebuild-v3.json | |
| out/perf-baseline-v1.json | |
| out/perf-regression-v1.json | |
| out/canary-rollout-sim-v1.json | |
| out/fleet-update-sim-v1.json | |
| out/fleet-health-sim-v1.json | |
| out/conformance-v1.json | |
| out/maturity-qualification-v1.json | |
| - name: Desktop stack v1 gate | |
| run: | | |
| make test-desktop-stack-v1 | |
| - name: Upload desktop stack v1 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: desktop-stack-v1-artifacts | |
| path: | | |
| out/pytest-desktop-stack-v1.xml | |
| out/desktop-smoke-v1.json | |
| - name: GUI app compatibility v1 gate | |
| run: | | |
| make test-gui-app-compat-v1 | |
| - name: Upload GUI app compatibility v1 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: gui-app-compat-v1-artifacts | |
| path: | | |
| out/pytest-gui-app-compat-v1.xml | |
| out/gui-app-matrix-v1.json | |
| - name: Compatibility surface v1 gate | |
| run: | | |
| make test-compat-surface-v1 | |
| - name: Upload compatibility surface v1 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: compat-surface-v1-artifacts | |
| path: | | |
| out/pytest-compat-surface-v1.xml | |
| out/compat-surface-v1.json | |
| - name: POSIX gap closure v1 gate | |
| run: | | |
| make test-posix-gap-closure-v1 | |
| - name: Upload POSIX gap closure v1 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: posix-gap-closure-v1-artifacts | |
| path: | | |
| out/pytest-posix-gap-closure-v1.xml | |
| out/posix-gap-report-v1.json | |
| - name: Hardware matrix v4 gate | |
| run: | | |
| make test-hw-matrix-v4 | |
| - name: Upload hardware matrix v4 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: hw-matrix-v4-artifacts | |
| path: | | |
| out/pytest-hw-matrix-v4.xml | |
| out/hw-matrix-v4.json | |
| - name: Hardware bare-metal promotion v1 gate | |
| run: | | |
| make test-hw-baremetal-promotion-v1 | |
| - name: Upload hardware bare-metal promotion v1 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: hw-baremetal-promotion-v1-artifacts | |
| path: | | |
| out/pytest-hw-baremetal-promotion-v1.xml | |
| out/hw-promotion-v1.json | |
| - name: Storage platform v1 gate | |
| run: | | |
| make test-storage-platform-v1 | |
| - name: Upload storage platform v1 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: storage-platform-v1-artifacts | |
| path: | | |
| out/pytest-storage-platform-v1.xml | |
| out/storage-feature-v1.json | |
| - name: Storage feature contract v1 gate | |
| run: | | |
| make test-storage-feature-contract-v1 | |
| - name: Upload storage feature contract v1 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: storage-feature-contract-v1-artifacts | |
| path: | | |
| out/pytest-storage-feature-contract-v1.xml | |
| out/platform-feature-v1.json | |
| - name: Ecosystem scale v1 gate | |
| run: | | |
| make test-ecosystem-scale-v1 | |
| - name: Upload ecosystem scale v1 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ecosystem-scale-v1-artifacts | |
| path: | | |
| out/pytest-ecosystem-scale-v1.xml | |
| out/app-catalog-sim-v1.json | |
| - name: App catalog health v1 gate | |
| run: | | |
| make test-app-catalog-health-v1 | |
| - name: Upload app catalog health v1 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: app-catalog-health-v1-artifacts | |
| path: | | |
| out/pytest-app-catalog-health-v1.xml | |
| out/pkg-install-success-v1.json | |
| out/catalog-audit-v1.json | |
| - name: Evidence integrity v1 gate | |
| run: | | |
| make test-evidence-integrity-v1 | |
| - name: Upload evidence integrity v1 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: evidence-integrity-v1-artifacts | |
| path: | | |
| out/booted-runtime-v1.json | |
| out/perf-baseline-v1.json | |
| out/perf-regression-v1.json | |
| out/trace-bundle-v2.json | |
| out/diagnostic-snapshot-v2.json | |
| out/crash-dump-v1.json | |
| out/crash-dump-symbolized-v1.json | |
| out/pytest-evidence-integrity-v1.xml | |
| out/runtime-evidence-v1.json | |
| out/gate-evidence-audit-v1.json | |
| - name: Synthetic evidence ban v1 gate | |
| run: | | |
| make test-synthetic-evidence-ban-v1 | |
| - name: Upload synthetic evidence ban v1 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: synthetic-evidence-ban-v1-artifacts | |
| path: | | |
| out/booted-runtime-v1.json | |
| out/perf-baseline-v1.json | |
| out/perf-regression-v1.json | |
| out/trace-bundle-v2.json | |
| out/diagnostic-snapshot-v2.json | |
| out/crash-dump-v1.json | |
| out/crash-dump-symbolized-v1.json | |
| out/pytest-synthetic-evidence-ban-v1.xml | |
| out/runtime-evidence-v1.json | |
| out/gate-evidence-audit-v1.json | |
| - name: Process readiness parity v1 gate | |
| run: | | |
| make test-process-readiness-parity-v1 | |
| - name: Upload process readiness parity v1 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: process-readiness-parity-v1-artifacts | |
| path: | | |
| out/pytest-process-readiness-parity-v1.xml | |
| out/compat-surface-v2.json | |
| - name: POSIX gap closure v2 gate | |
| run: | | |
| make test-posix-gap-closure-v2 | |
| - name: Upload POSIX gap closure v2 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: posix-gap-closure-v2-artifacts | |
| path: | | |
| out/pytest-posix-gap-closure-v2.xml | |
| out/posix-gap-report-v2.json | |
| - name: Isolation baseline v1 gate | |
| run: | | |
| make test-isolation-baseline-v1 | |
| - name: Upload isolation baseline v1 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: isolation-baseline-v1-artifacts | |
| path: | | |
| out/pytest-isolation-baseline-v1.xml | |
| out/isolation-campaign-v1.json | |
| - name: Namespace cgroup v1 gate | |
| run: | | |
| make test-namespace-cgroup-v1 | |
| - name: Upload namespace cgroup v1 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: namespace-cgroup-v1-artifacts | |
| path: | | |
| out/pytest-namespace-cgroup-v1.xml | |
| out/resource-control-v1.json | |
| - name: Hardware firmware smp v1 gate | |
| run: | | |
| make test-hw-firmware-smp-v1 | |
| - name: Upload hardware firmware smp v1 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: hw-firmware-smp-v1-artifacts | |
| path: | | |
| out/pytest-hw-firmware-smp-v1.xml | |
| out/hw-matrix-v5.json | |
| out/hw-firmware-smp-v1.json | |
| - name: Native driver matrix v1 gate | |
| run: | | |
| make test-native-driver-matrix-v1 | |
| - name: Upload native driver matrix v1 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: native-driver-matrix-v1-artifacts | |
| path: | | |
| out/pytest-native-driver-matrix-v1.xml | |
| out/hw-firmware-smp-v1.json | |
| - name: Hardware matrix v6 shadow gate | |
| run: | | |
| make test-hw-matrix-v6 | |
| - name: Upload hardware matrix v6 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: hw-matrix-v6-artifacts | |
| path: | | |
| out/pytest-hw-matrix-v6.xml | |
| out/hw-matrix-v6.json | |
| out/desktop-smoke-v1.json | |
| - name: Virtio platform v1 shadow gate | |
| run: | | |
| make test-virtio-platform-v1 | |
| - name: Upload virtio platform v1 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: virtio-platform-v1-artifacts | |
| path: | | |
| out/pytest-virtio-platform-v1.xml | |
| out/hw-matrix-v6.json | |
| out/desktop-smoke-v1.json | |
| - name: Bare-metal io baseline v1 gate | |
| run: | | |
| make test-baremetal-io-baseline-v1 | |
| - name: Upload bare-metal io baseline v1 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: baremetal-io-v1-artifacts | |
| path: | | |
| out/pytest-baremetal-io-v1.xml | |
| out/baremetal-io-v1.json | |
| out/hw-promotion-v2.json | |
| out/desktop-smoke-v1.json | |
| out/recovery-drill-v3.json | |
| - name: USB input removable v1 gate | |
| run: | | |
| make test-usb-input-removable-v1 | |
| - name: Upload USB input removable v1 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: usb-input-removable-v1-artifacts | |
| path: | | |
| out/pytest-usb-input-removable-v1.xml | |
| out/baremetal-io-v1.json | |
| out/desktop-smoke-v1.json | |
| out/recovery-drill-v3.json | |
| - name: Hardware claim promotion v1 gate | |
| run: | | |
| make test-hw-claim-promotion-v1 | |
| - name: Upload hardware claim promotion v1 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: hw-claim-promotion-v1-artifacts | |
| path: | | |
| out/pytest-hw-claim-promotion-v1.xml | |
| out/hw-claim-promotion-v1.json | |
| out/hw-support-tier-audit-v1.json | |
| - name: Hardware support tier audit v1 gate | |
| run: | | |
| make test-hw-support-tier-audit-v1 | |
| - name: Upload hardware support tier audit v1 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: hw-support-tier-audit-v1-artifacts | |
| path: | | |
| out/pytest-hw-support-tier-audit-v1.xml | |
| out/hw-claim-promotion-v1.json | |
| out/hw-support-tier-audit-v1.json | |
| - name: Display runtime v1 gate | |
| run: | | |
| make test-display-runtime-v1 | |
| - name: Upload display runtime v1 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: display-runtime-v1-artifacts | |
| path: | | |
| out/pytest-display-runtime-v1.xml | |
| out/display-runtime-v1.json | |
| out/display-frame-v1.png | |
| out/display-frame-v1.json | |
| - name: Scanout path v1 gate | |
| run: | | |
| make test-scanout-path-v1 | |
| - name: Upload scanout path v1 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: scanout-path-v1-artifacts | |
| path: | | |
| out/pytest-scanout-path-v1.xml | |
| out/display-runtime-v1.json | |
| out/display-frame-v1.png | |
| out/display-frame-v1.json | |
| - name: Input seat v1 gate | |
| run: | | |
| make test-input-seat-v1 | |
| - name: Upload input seat v1 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: input-seat-v1-artifacts | |
| path: | | |
| out/pytest-input-seat-v1.xml | |
| out/input-seat-v1.json | |
| out/hid-event-path-v1.json | |
| - name: HID event path v1 gate | |
| run: | | |
| make test-hid-event-path-v1 | |
| - name: Upload HID event path v1 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: hid-event-path-v1-artifacts | |
| path: | | |
| out/pytest-hid-event-path-v1.xml | |
| out/input-seat-v1.json | |
| out/hid-event-path-v1.json | |
| - name: Window system v1 gate | |
| run: | | |
| make test-window-system-v1 | |
| - name: Upload window system v1 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: window-system-v1-artifacts | |
| path: | | |
| out/pytest-window-system-v1.xml | |
| out/window-system-v1.json | |
| out/compositor-damage-v1.json | |
| - name: Compositor damage v1 gate | |
| run: | | |
| make test-compositor-damage-v1 | |
| - name: Upload compositor damage v1 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: compositor-damage-v1-artifacts | |
| path: | | |
| out/pytest-compositor-damage-v1.xml | |
| out/window-system-v1.json | |
| out/compositor-damage-v1.json | |
| - name: GUI runtime v1 gate | |
| run: | | |
| make test-gui-runtime-v1 | |
| - name: Upload GUI runtime v1 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: gui-runtime-v1-artifacts | |
| path: | | |
| out/pytest-gui-runtime-v1.xml | |
| out/gui-runtime-v1.json | |
| out/toolkit-compat-v1.json | |
| - name: Toolkit compatibility v1 gate | |
| run: | | |
| make test-toolkit-compat-v1 | |
| - name: Upload toolkit compatibility v1 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: toolkit-compat-v1-artifacts | |
| path: | | |
| out/pytest-toolkit-compat-v1.xml | |
| out/gui-runtime-v1.json | |
| out/toolkit-compat-v1.json | |
| - name: Desktop shell v1 gate | |
| run: | | |
| make test-desktop-shell-v1 | |
| - name: Upload desktop shell v1 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: desktop-shell-v1-artifacts | |
| path: | | |
| out/pytest-desktop-shell-v1.xml | |
| out/desktop-shell-v1.json | |
| out/graphical-installer-v1.json | |
| - name: Desktop workflows v1 gate | |
| run: | | |
| make test-desktop-workflows-v1 | |
| - name: Upload desktop workflows v1 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: desktop-workflows-v1-artifacts | |
| path: | | |
| out/pytest-desktop-workflows-v1.xml | |
| out/desktop-shell-v1.json | |
| out/graphical-installer-v1.json | |
| - name: Native driver contract v1 gate | |
| run: | | |
| make test-native-driver-contract-v1 | |
| - name: Upload native driver contract v1 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: native-driver-contract-v1-artifacts | |
| path: | | |
| out/pytest-native-driver-contract-v1.xml | |
| out/native-driver-diagnostics-v1.json | |
| - name: Native driver diagnostics v1 gate | |
| run: | | |
| make test-native-driver-diagnostics-v1 | |
| - name: Upload native driver diagnostics v1 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: native-driver-diagnostics-v1-artifacts | |
| path: | | |
| out/pytest-native-driver-diagnostics-v1.xml | |
| out/native-driver-diagnostics-v1.json | |
| - name: X2 hardware runtime v1 gate | |
| run: | | |
| make test-x2-hardware-runtime-v1 | |
| - name: Upload X2 hardware runtime v1 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: x2-hardware-runtime-v1-artifacts | |
| path: | | |
| out/pytest-x2-hardware-runtime-v1.xml | |
| out/x2-hardware-runtime-v1.json | |
| out/measured-boot-v1.json | |
| out/hw-diagnostics-v3.json | |
| out/hw-matrix-v4.json | |
| out/hw-firmware-smp-v1.json | |
| out/hw-matrix-v6.json | |
| out/baremetal-io-v1.json | |
| out/hw-claim-promotion-v1.json | |
| out/native-driver-diagnostics-v1.json | |
| - name: X3 platform runtime v1 gate | |
| run: | | |
| make test-x3-platform-runtime-v1 | |
| - name: Upload X3 platform runtime v1 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: x3-platform-runtime-v1-artifacts | |
| path: | | |
| out/pytest-x3-platform-runtime-v1.xml | |
| out/booted-runtime-v1.json | |
| out/x3-platform-runtime-v1.json | |
| out/repo-policy-v3.json | |
| out/pkg-rebuild-v3.json | |
| out/update-trust-v1.json | |
| out/storage-feature-v1.json | |
| out/platform-feature-v1.json | |
| out/app-catalog-sim-v1.json | |
| out/pkg-install-success-v1.json | |
| out/catalog-audit-v1.json | |
| - name: Native storage v1 gate | |
| run: | | |
| make test-native-storage-v1 | |
| - name: Upload native storage v1 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: native-storage-v1-artifacts | |
| path: | | |
| out/pytest-native-storage-v1.xml | |
| out/native-storage-v1.json | |
| out/hw-matrix-v7.json | |
| - name: Hardware matrix v7 gate | |
| run: | | |
| make test-hw-matrix-v7 | |
| - name: Upload hardware matrix v7 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: hw-matrix-v7-artifacts | |
| path: | | |
| out/pytest-hw-matrix-v7.xml | |
| out/hw-matrix-v7.json | |
| - name: Real ecosystem desktop v2 gate | |
| run: | | |
| make test-real-ecosystem-desktop-v2 | |
| - name: Upload real ecosystem desktop v2 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: real-ecosystem-desktop-v2-artifacts | |
| path: | | |
| out/pytest-real-ecosystem-desktop-v2.xml | |
| out/real-gui-matrix-v2.json | |
| out/real-pkg-install-v2.json | |
| out/real-catalog-audit-v2.json | |
| - name: Real app catalog v2 gate | |
| run: | | |
| make test-real-app-catalog-v2 | |
| - name: Upload real app catalog v2 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: real-app-catalog-v2-artifacts | |
| path: | | |
| out/pytest-real-app-catalog-v2.xml | |
| out/real-pkg-install-v2.json | |
| out/real-catalog-audit-v2.json | |
| - name: Desktop profile runtime v1 gate | |
| run: | | |
| make test-desktop-profile-runtime-v1 | |
| - name: Upload desktop profile runtime v1 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: desktop-profile-runtime-v1-artifacts | |
| path: | | |
| out/pytest-desktop-profile-runtime-v1.xml | |
| out/desktop-profile-capture-v1.json | |
| out/desktop-profile-runtime-v1.json | |
| out/os-go-desktop.iso | |
| out/kernel-go-desktop.elf | |
| out/desktop-smoke-v1.json | |
| out/gui-app-matrix-v1.json | |
| out/display-runtime-v1.json | |
| out/input-seat-v1.json | |
| out/window-system-v1.json | |
| out/gui-runtime-v1.json | |
| out/toolkit-compat-v1.json | |
| out/desktop-shell-v1.json | |
| out/graphical-installer-v1.json | |
| out/real-gui-matrix-v2.json | |
| out/real-pkg-install-v2.json | |
| out/real-catalog-audit-v2.json | |
| - name: Product alpha v1 gate | |
| run: | | |
| make test-product-alpha-v1 | |
| - name: Upload product alpha v1 artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: product-alpha-v1-artifacts | |
| path: | | |
| out/pytest-product-alpha-v1.xml | |
| out/product-alpha-runtime-capture-v1.json | |
| out/product-alpha-v1.json | |
| out/product-alpha-x4-runtime-v1.json | |
| out/product-alpha-x3-runtime-v1.json | |
| out/product-alpha-graphical-installer-v1.json | |
| out/product-alpha-release-bundle-v1.json | |
| out/product-alpha-installer-v2.json | |
| out/product-alpha-install-state-v1.json | |
| out/product-alpha-update-metadata-v1.json | |
| out/product-alpha-upgrade-drill-v3.json | |
| out/product-alpha-recovery-drill-v3.json | |
| out/product-alpha-trace-bundle-v2.json | |
| out/product-alpha-diagnostic-snapshot-v2.json | |
| out/product-alpha-crash-dump-v1.json | |
| out/product-alpha-crash-dump-symbolized-v1.json | |
| out/os-go-desktop-native.iso | |
| out/kernel-go-desktop-native.elf | |
| out/product-alpha-supporting |