Skip to content

ci: one runner for the WCM demos, callable from the SDK repository (#92) #184

ci: one runner for the WCM demos, callable from the SDK repository (#92)

ci: one runner for the WCM demos, callable from the SDK repository (#92) #184

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true"
jobs:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- name: Validate JSON files
run: |
find . -name "*.json" -not -path "./.git/*" | while read f; do
python3 -m json.tool "$f" > /dev/null && echo "OK: $f" || exit 1
done
- name: Validate YAML files
run: |
pip install pyyaml -q
find . -name "*.yaml" -o -name "*.yml" | grep -v ".git" | while read f; do
python3 -c "import yaml, sys; yaml.safe_load(open(sys.argv[1]))" "$f" && echo "OK: $f" || exit 1
done
financial-services:
runs-on: ubuntu-latest
defaults:
run:
working-directory: financial-services
steps:
- uses: actions/checkout@v7
- name: Set up Python 3.11
uses: actions/setup-python@v7
with:
python-version: "3.11"
- name: Run credit engine tests
run: python -m unittest discover -s tests -v
agentic-commerce-accountability:
runs-on: ubuntu-latest
defaults:
run:
working-directory: agentic-commerce-accountability
steps:
- uses: actions/checkout@v7
- name: Set up Python 3.11
uses: actions/setup-python@v7
with:
python-version: "3.11"
- name: Run accountability tests
run: python -m unittest discover -s tests -v
- name: Regenerate and compare committed fixtures
run: |
python generate_fixtures.py
git diff --exit-code -- fixtures
industrial-embodied-ai:
runs-on: ubuntu-latest
defaults:
run:
working-directory: industrial-embodied-ai
steps:
- uses: actions/checkout@v7
- name: Set up Python 3.11
uses: actions/setup-python@v7
with:
python-version: "3.11"
cache: "pip"
cache-dependency-path: industrial-embodied-ai/requirements.txt
- name: Install controller test dependencies
run: python -m pip install cryptography
- name: Run controller tests
run: python -m unittest discover -s tests -v
- name: Install artifact validation dependencies
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository
run: python -m pip install -r requirements.txt
- name: Verify committed evidence artifacts
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository
run: python validate_artifacts.py
healthcare:
runs-on: ubuntu-latest
defaults:
run:
working-directory: healthcare
steps:
- uses: actions/checkout@v7
- name: Set up Python 3.11
uses: actions/setup-python@v7
with:
python-version: "3.11"
- name: Run clinical engine tests
run: python -m unittest discover -s tests -v
embodied-action-receipts:
runs-on: ubuntu-latest
defaults:
run:
working-directory: embodied-action-receipts
steps:
- uses: actions/checkout@v7
- name: Set up Python 3.11
uses: actions/setup-python@v7
with:
python-version: "3.11"
cache: "pip"
cache-dependency-path: embodied-action-receipts/requirements.txt
- name: Install dependencies
run: python -m pip install -r requirements.txt
- name: Verify embodied-action receipt fixtures
run: python -m unittest discover -s tests -v
multi-tenant-saas:
runs-on: ubuntu-latest
defaults:
run:
working-directory: multi-tenant-saas
steps:
- uses: actions/checkout@v7
- name: Set up Python 3.11
uses: actions/setup-python@v7
with:
python-version: "3.11"
- name: Run people directory tests
run: python -m unittest discover -s tests -v
ca2a-delegation:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ca2a-delegation
steps:
- uses: actions/checkout@v7
- name: Set up Python 3.11
uses: actions/setup-python@v7
with:
python-version: "3.11"
- name: Install cA2A runtime (pre-release)
run: python -m pip install --pre ca2a-runtime
- name: Run delegation tests
run: python -m unittest discover -s tests -v
- name: Run the delegation demo
run: python delegation_agent.py
weight-custody-manifest:
runs-on: ubuntu-latest
defaults:
run:
working-directory: weight-custody-manifest
steps:
- uses: actions/checkout@v7
- name: Set up Python 3.11
uses: actions/setup-python@v7
with:
python-version: "3.11"
- name: Install the WCM SDK from PyPI
run: python -m pip install -r requirements.txt
# One runner, discovered rather than listed, so a new demo is covered the
# day it lands. The list lived in this file and in nobody else's reach,
# which is why the SDK repository could not run these before cutting a
# release. It now calls the same script; see run_demos.py.
- name: Install the model-signing extra the provenance demo needs
run: python -m pip install "weight-custody-manifest[model-signing]>=0.27.0" pytest
- name: Run every offline demo and the unit tests
run: python run_demos.py