Skip to content

Commit 975d9ed

Browse files
Add deterministic ordering regression test for missing deps
1 parent 17c6025 commit 975d9ed

40 files changed

Lines changed: 3316 additions & 0 deletions
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
name: governance-artifacts-ci
2+
3+
on:
4+
push:
5+
paths:
6+
- 'docs/schemas/**'
7+
- 'docs/reports/ENTERPRISE_CIVILIZATIONAL_AGI_ASI_BLUEPRINT_2026_2030.md'
8+
- '.github/workflows/governance-artifacts-ci.yml'
9+
- 'Makefile'
10+
- '.yamllint'
11+
pull_request:
12+
paths:
13+
- 'docs/schemas/**'
14+
- 'docs/reports/ENTERPRISE_CIVILIZATIONAL_AGI_ASI_BLUEPRINT_2026_2030.md'
15+
- '.github/workflows/governance-artifacts-ci.yml'
16+
- 'Makefile'
17+
- '.yamllint'
18+
19+
jobs:
20+
validate-governance-artifacts:
21+
runs-on: ubuntu-latest
22+
permissions:
23+
contents: read
24+
env:
25+
PYTHONUNBUFFERED: '1'
26+
steps:
27+
- name: Checkout
28+
uses: actions/checkout@v4
29+
30+
- name: Set up Python
31+
uses: actions/setup-python@v5
32+
with:
33+
python-version: '3.12'
34+
cache: 'pip'
35+
cache-dependency-path: docs/schemas/requirements-governance.txt
36+
37+
- name: Install Python deps (pinned)
38+
run: |
39+
python -m pip install --upgrade pip
40+
pip install -r docs/schemas/requirements-governance.txt
41+
42+
- name: Validate governance YAML/JSON artifacts
43+
run: make governance-validate
44+
45+
- name: Setup OPA (pinned)
46+
uses: open-policy-agent/setup-opa@v2
47+
with:
48+
version: v1.15.2
49+
50+
- name: Rego format and tests
51+
run: make governance-policy-test
52+
53+
- name: Validator and evidence bundle unit tests
54+
run: make governance-validator-test
55+
56+
- name: Build evidence manifest
57+
run: make governance-evidence-manifest
58+
59+
- name: Verify evidence manifest integrity
60+
run: make governance-evidence-verify
61+
62+
- name: Validate evidence manifest schema
63+
run: make governance-evidence-schema
64+
65+
- name: Generate machine-readable validation report
66+
run: make governance-report
67+
68+
- name: Validate run report schema
69+
run: make governance-report-schema
70+
71+
- name: Check generated artifacts are up to date
72+
run: make governance-check-generated
73+
74+
- name: Upload validation report
75+
uses: actions/upload-artifact@v4
76+
with:
77+
name: governance-validation-report
78+
path: docs/schemas/validation_run_report.json

.pre-commit-config.yaml

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
repos:
2+
- repo: https://github.com/pre-commit/pre-commit-hooks
3+
rev: v5.0.0
4+
hooks:
5+
- id: check-yaml
6+
- id: check-json
7+
- id: end-of-file-fixer
8+
- id: trailing-whitespace
9+
- repo: https://github.com/adrienverge/yamllint
10+
rev: v1.37.1
11+
hooks:
12+
- id: yamllint
13+
args: ["-c", ".yamllint", "docs/schemas/agi_asi_governance_profile_2026_2030.yaml"]
14+
- repo: local
15+
hooks:
16+
- id: governance-validate
17+
name: governance-validate
18+
entry: make governance-validate
19+
language: system
20+
pass_filenames: false
21+
- id: governance-policy-test
22+
name: governance-policy-test
23+
entry: make governance-policy-test
24+
language: system
25+
pass_filenames: false
26+
- id: governance-validator-test
27+
name: governance-validator-test
28+
entry: make governance-validator-test
29+
language: system
30+
pass_filenames: false
31+
- id: governance-evidence-checks
32+
name: governance-evidence-checks
33+
entry: make governance-evidence-manifest && make governance-evidence-verify && make governance-evidence-schema && make governance-report-schema && make governance-check-generated
34+
language: system
35+
pass_filenames: false

.yamllint

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
extends: default
2+
rules:
3+
line-length: disable
4+
document-start: disable
5+
truthy: disable

Makefile

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
.PHONY: governance-setup governance-deps-check governance-lint governance-validate governance-artifact-inventory governance-policy-test governance-validator-test governance-evidence-manifest governance-evidence-verify governance-evidence-schema governance-report governance-report-schema governance-check-generated
2+
3+
governance-setup:
4+
python -m pip install -r docs/schemas/requirements-governance.txt
5+
6+
governance-deps-check:
7+
python docs/schemas/check_dependencies.py
8+
9+
governance-lint:
10+
yamllint -c .yamllint docs/schemas/agi_asi_governance_profile_2026_2030.yaml
11+
python -m json.tool docs/schemas/compliance_control_mapping.json > /dev/null
12+
13+
governance-validate: governance-deps-check governance-lint
14+
python docs/schemas/governance_artifacts_validation.py
15+
16+
governance-artifact-inventory:
17+
python docs/schemas/validate_artifact_inventory.py
18+
19+
governance-policy-test:
20+
opa fmt --fail docs/schemas/policies/ai_governance.rego
21+
opa fmt --fail docs/schemas/policies/ai_governance_test.rego
22+
opa test docs/schemas/policies/ai_governance.rego docs/schemas/policies/ai_governance_test.rego
23+
24+
governance-validator-test: governance-deps-check
25+
python docs/schemas/test_governance_artifacts_validation.py -v
26+
python docs/schemas/test_generate_evidence_bundle.py -v
27+
python docs/schemas/test_verify_evidence_bundle.py -v
28+
python docs/schemas/test_validate_evidence_manifest.py -v
29+
python docs/schemas/test_validate_run_report.py -v
30+
python docs/schemas/test_run_governance_checks.py -v
31+
python docs/schemas/test_validate_artifact_inventory.py -v
32+
python docs/schemas/test_check_generated_artifacts.py -v
33+
python docs/schemas/test_check_dependencies.py -v
34+
python docs/schemas/test_validation_deps.py -v
35+
36+
governance-evidence-manifest:
37+
python docs/schemas/generate_evidence_bundle.py
38+
39+
governance-evidence-verify:
40+
python docs/schemas/verify_evidence_bundle.py
41+
42+
governance-evidence-schema: governance-deps-check
43+
python docs/schemas/validate_evidence_manifest.py
44+
45+
governance-report:
46+
python docs/schemas/run_governance_checks.py --max-tail-chars 1200
47+
48+
governance-report-schema: governance-deps-check
49+
python docs/schemas/validate_run_report.py
50+
51+
governance-check-generated:
52+
python docs/schemas/check_generated_artifacts.py

0 commit comments

Comments
 (0)