Align recovery delivery with Codex 0.153.4 and preserve bounded qualification evidence #109
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: PlanAnvil tests | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: plananvil-tests-${{ github.ref }} | |
| cancel-in-progress: true | |
| env: | |
| PYTHONDONTWRITEBYTECODE: "1" | |
| jobs: | |
| core: | |
| name: core (${{ matrix.os }}, py${{ matrix.python-version }}) | |
| timeout-minutes: 15 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: | |
| - ubuntu-latest | |
| - macos-latest | |
| - windows-latest | |
| python-version: | |
| - "3.11" | |
| - "3.14" | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - name: Check out repository | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 | |
| - name: Set up Python | |
| uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Configure Git fixture identity | |
| run: | | |
| git config --global user.name "PlanAnvil CI" | |
| git config --global user.email "plananvil-ci@example.invalid" | |
| git config --global commit.gpgsign false | |
| git config --global protocol.file.allow always | |
| - name: Compile deterministic scripts and hooks | |
| run: python -m compileall -q .agents/skills/plan-anvil .codex/hooks tools tests | |
| - name: Run core unit and integration tests | |
| run: python -m unittest discover -s .agents/skills/plan-anvil/tests -v | |
| - name: Execute qualification boundary regressions without Codex | |
| run: python -m unittest discover -s tests -p "test_qualification_*.py" -v | |
| - name: Check patch whitespace | |
| run: git diff --check | |
| distribution: | |
| name: distribution and release candidate | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - name: Check out repository | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 | |
| - name: Set up Python | |
| uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7 | |
| with: | |
| python-version: "3.11" | |
| - name: Configure Git fixture identity | |
| run: | | |
| git config --global user.name "PlanAnvil CI" | |
| git config --global user.email "plananvil-ci@example.invalid" | |
| git config --global commit.gpgsign false | |
| git config --global protocol.file.allow always | |
| - name: Run distribution and release tests | |
| run: python -m unittest discover -s tests -v | |
| - name: Validate prepared C01-C16 evidence templates | |
| run: | | |
| python tools/prepare_capabilities.py --target "$RUNNER_TEMP/plananvil-capabilities" --force | |
| python tools/validate_capabilities.py --root "$RUNNER_TEMP/plananvil-capabilities" | |
| - name: Validate release candidate metadata | |
| run: python tools/release_check.py --candidate | |
| - name: Build deterministic release archive | |
| run: python tools/build_release.py --output "$RUNNER_TEMP/plananvil-dist" | |
| - name: Check patch whitespace | |
| run: git diff --check |