Repository navigation
Merge pull request #40 from PyAutoLabs/feature/workspace-organs-regroup #144
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: Cortex Check | |
| # Guards the run-and-ruling registry: every task file parses and its state is | |
| # legal, every ruling id is unique and every Supersedes: resolves, every | |
| # project a task names is in projects.yaml, the gates/witness invariants hold | |
| # (`scripts/cortex.py check`), then the script's own tests. No self-heal here: | |
| # a failing check is a real contradiction and only a human can resolve it. The | |
| # generated pages that DO self-heal (`dashboard.md`, `dashboard.html`) are | |
| # `dashboard_refresh.yml`'s; this workflow only watches them for the drift that | |
| # a hand-edit of a generated page would leave behind. | |
| on: | |
| push: | |
| branches: [main] | |
| paths: | |
| - "projects/**" | |
| - "archive/**" | |
| - "projects.yaml" | |
| - "checkin.yaml" | |
| - "dashboard.md" | |
| - "dashboard.html" | |
| - "scripts/**" | |
| - "tests/**" | |
| - ".github/workflows/cortex_check.yml" | |
| pull_request: | |
| paths: | |
| - "projects/**" | |
| - "archive/**" | |
| - "projects.yaml" | |
| - "checkin.yaml" | |
| - "dashboard.md" | |
| - "dashboard.html" | |
| - "scripts/**" | |
| - "tests/**" | |
| - ".github/workflows/cortex_check.yml" | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| jobs: | |
| check: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: dependencies | |
| # `cortex.py` reads projects.yaml with PyYAML, so the deps go in before | |
| # the check step, not only before the tests. | |
| run: python3 -m pip install --quiet pytest pyyaml | |
| - name: cortex check | |
| run: python3 scripts/cortex.py check | |
| - name: tests | |
| run: python3 -m pytest tests -q |