Skip to content

improving schemas and test_vectors #43

improving schemas and test_vectors

improving schemas and test_vectors #43

Workflow file for this run

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