improving schemas and test_vectors #43
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 | |
| on: | |
| push: | |
| branches: [main, master] | |
| pull_request: | |
| jobs: | |
| python: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.12" | |
| - name: Install and test Python | |
| run: | | |
| cd python | |
| pip install -e ".[dev]" | |
| pytest -q | |
| pytest -q tests/test_protocol_conformance.py | |
| pcs schema check | |
| pcs examples check | |
| pcs validate-release-chain ../examples/labtrust-release/ | |
| pcs validate-release-chain ../examples/labtrust-release/ --json > /dev/null | |
| pcs validate-release-chain ../examples/labtrust-release/ --out ../examples/labtrust-release/.ci_validation_result.json | |
| pcs validate ../examples/labtrust-release/.ci_validation_result.json | |
| test -f ../examples/labtrust-release/release_manifest.v0.json | |
| pcs validate ../examples/labtrust-release/release_manifest.v0.json | |
| python -m pcs_core.hash_vectors --verify | |
| pcs shared-hash-vectors verify | |
| pcs conformance run --suite all | |
| pcs conformance run --suite multidomain | |
| pcs conformance run --suite all --json > /tmp/conformance_report.json | |
| pcs validate /tmp/conformance_report.json | |
| pcs registry validate ../examples/artifact_registry.valid.json | |
| pcs registry audit | |
| test -f ../examples/tool-use-release/tool_use_trace.valid.json | |
| test -f ../examples/tool-use-release/tool_use_certificate.valid.json | |
| test -f ../examples/tool-use-release/RELEASE_FIXTURE_MANIFEST.json | |
| pcs validate ../examples/workflow_profiles/labtrust_qc_release.valid.json | |
| pcs validate ../examples/workflow_profiles/agent_tool_use_safety.valid.json | |
| pcs validate ../examples/workflow_profiles/scientific_computation_reproducibility.valid.json | |
| pcs validate-release-chain ../examples/tool-use-release/ | |
| test -f ../examples/computation-release/computation_witness.json | |
| test -f ../examples/computation-release/RELEASE_FIXTURE_MANIFEST.json | |
| pcs validate-release-chain ../examples/computation-release/ | |
| pcs conformance run --suite computation | |
| pcs benchmark validate | |
| pcs benchmark run --suite labtrust-qc-release-v0 | |
| pcs benchmark run --suite tool-use-safety-v0 | |
| pcs benchmark run --suite formal-trust-kernel-v0 | |
| pcs conformance run --suite benchmark | |
| pcs conformance run --suite benchmark-report | |
| python scripts/materialize_benchmark_examples.py | |
| python scripts/materialize_benchmark_producer_examples.py | |
| pcs validate ../examples/benchmark_registry.valid.json | |
| pcs validate ../examples/benchmark_metric_registry.valid.json | |
| for f in ../examples/benchmark/pcs_bench_report.valid.json ../examples/benchmark/labtrust_benchmark_case.valid.json ../examples/benchmark/certifyedge_pcs_bench_ingest.valid.json ../examples/benchmark/pf_pcs_bench_ingest.valid.json ../examples/benchmark/scientific_memory_pcs_bench_ingest.valid.json; do pcs validate "$f"; done | |
| pcs validate ../examples/tool_use_trace.valid.json | |
| pcs validate ../examples/tool_use_certificate.valid.json | |
| pytest -q tests/test_multidomain_workflows.py | |
| ruff check pcs_core tests | |
| ruff format --check pcs_core tests | |
| - name: Schema drift check (reference) | |
| run: bash scripts/pcs-schema-diff.sh schemas | |
| - name: LabTrust release fixtures | |
| run: | | |
| cd python | |
| pcs validate-release-chain ../examples/labtrust-release/ | |
| rust: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: rustfmt, clippy | |
| - name: Test Rust | |
| run: | | |
| cd rust | |
| cargo fmt --check | |
| cargo clippy --all-targets -- -D warnings | |
| cargo test | |
| cargo test hash_vectors | |
| typescript: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: "22" | |
| - name: Test TypeScript | |
| run: | | |
| cd typescript | |
| npm install | |
| npm test | |
| npm run test:hash-vectors -w @pcs/core | |
| npm run lint | |
| lean: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install Lean | |
| run: | | |
| curl -sSfL https://raw.githubusercontent.com/leanprover/elan/master/elan-init.sh | sh -s -- -y --default-toolchain stable | |
| echo "$HOME/.elan/bin" >> "$GITHUB_PATH" | |
| - name: Build Lean trust-boundary skeleton | |
| run: cd lean && lake build | |
| validate-cli-contract: | |
| runs-on: ubuntu-latest | |
| needs: python | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.12" | |
| - name: Required CLI commands | |
| run: | | |
| cd python | |
| pip install -e . | |
| pcs validate ../examples/science_claim_bundle.certified.valid.json | |
| pcs validate ../examples/signed_science_claim_bundle.valid.json | |
| pcs validate ../examples/labtrust/signed_science_claim_bundle.valid.json | |
| pcs validate ../examples/tool_use_trace.valid.json | |
| pcs validate ../examples/tool_use_certificate.valid.json | |
| pcs hash ../examples/science_claim_bundle.certified.valid.json | |
| pcs examples check | |
| pcs validate-release-chain ../examples/labtrust-release/ | |
| pcs validate-release-chain ../examples/tool-use-release/ | |
| pcs validate-release-chain ../examples/computation-release/ | |
| pcs conformance run --suite workflow-profile | |
| pcs conformance run --suite tool-use | |
| pcs conformance run --suite computation | |
| pcs conformance run --suite multidomain |