Add daily GSIFI governance artifacts, validation tools, tests, and CI workflow #235
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: Governance Artifacts CI | |
| on: | |
| pull_request: | |
| paths: | |
| - 'docs/schemas/**' | |
| - 'docs/reports/ENTERPRISE_CIVILIZATIONAL_AGI_ASI_BLUEPRINT_2026_2030.md' | |
| - 'G_STACK_GOVERNANCE_BLUEPRINT_2026_2030.md' | |
| - 'docs/reports/G_STACK_GOVERNANCE_BLUEPRINT_2026_2030.md' | |
| - 'gstack_artifacts/**' | |
| - 'tests/test_validate_artifacts.py' | |
| - 'tests/__init__.py' | |
| - '.github/workflows/governance-artifacts-ci.yml' | |
| - 'Makefile' | |
| - '.yamllint' | |
| push: | |
| branches: [ main, master ] | |
| paths: | |
| - 'docs/schemas/**' | |
| - 'docs/reports/ENTERPRISE_CIVILIZATIONAL_AGI_ASI_BLUEPRINT_2026_2030.md' | |
| - 'G_STACK_GOVERNANCE_BLUEPRINT_2026_2030.md' | |
| - 'docs/reports/G_STACK_GOVERNANCE_BLUEPRINT_2026_2030.md' | |
| - 'gstack_artifacts/**' | |
| - 'tests/test_validate_artifacts.py' | |
| - 'tests/__init__.py' | |
| - '.github/workflows/governance-artifacts-ci.yml' | |
| - 'Makefile' | |
| - '.yamllint' | |
| jobs: | |
| validate-existing-governance-stack: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 12 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12' | |
| cache: 'pip' | |
| cache-dependency-path: docs/schemas/requirements-governance.txt | |
| - name: Install governance schema dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install -r docs/schemas/requirements-governance.txt | |
| - name: Validate governance YAML/JSON artifacts | |
| run: make governance-validate | |
| - name: Setup OPA | |
| uses: open-policy-agent/setup-opa@v2 | |
| with: | |
| version: v1.15.2 | |
| - name: Rego format and tests | |
| run: make governance-policy-test | |
| - name: Validator and evidence bundle unit tests | |
| run: make governance-validator-test | |
| - name: Build and verify evidence artifacts | |
| run: | | |
| make governance-evidence-manifest | |
| make governance-evidence-verify | |
| make governance-evidence-schema | |
| make governance-report | |
| make governance-report-schema | |
| make governance-check-generated | |
| validate-gstack-artifacts: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 8 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12' | |
| cache: 'pip' | |
| cache-dependency-path: requirements-dev.txt | |
| - name: Run G-Stack CI composite target | |
| run: make gstack-ci | |
| - name: Upload G-Stack test artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: gstack-test-results | |
| path: artifacts/test-results | |
| if-no-files-found: ignore | |
| - name: Upload G-Stack validation report | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: gstack-validation-report | |
| path: artifacts/validation/gstack-validation.json | |
| if-no-files-found: warn |