Skip to content

release: prepare GovEngine 1.0.0rc2 source #3

release: prepare GovEngine 1.0.0rc2 source

release: prepare GovEngine 1.0.0rc2 source #3

Workflow file for this run

name: pytest
on:
push:
branches: [main]
pull_request:
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
pytest:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ['3.11', '3.12', '3.13']
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
- uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6
with:
python-version: ${{ matrix.python-version }}
- name: Install
run: |
python -m pip install -r .github/release-build-requirements.txt
python -m pip install -r .github/release-test-requirements.txt
python -m pip install "sclite-core==2.0.1"
python -m pip install --no-build-isolation -e '.[dev]'
- name: Validate public truth
run: python scripts/validate_public_truth.py
- name: Validate release train truth
run: python scripts/validate_release_train_truth.py
- name: Validate API stability inventory
run: python scripts/validate_api_stability.py
- name: Validate v1 API and schema freeze
run: python scripts/validate_v1_freeze.py
- name: Validate immutable rc1 window history
run: >-
python scripts/validate_rc_window.py
--record docs/rc-window/1.0.0rc1.json --expected-version 1.0.0rc1
- name: Validate conformance corpus generation
run: python scripts/generate_conformance_corpus.py --check
- name: Validate workflow supply-chain security
run: python scripts/validate_workflow_security.py
- name: Validate v1 security review record
run: python scripts/validate_v1_security_review.py
- name: Validate release-candidate readiness
run: python scripts/validate_release_readiness.py
- name: Ruff
run: python -m ruff check .
- name: Mypy
run: python -m mypy govengine
- name: Mypy stable facade strict
run: >-
python -m mypy --strict --disable-error-code=import-untyped
govengine/v1.py govengine/api.py govengine/approvals.py
govengine/governance.py govengine/governance_decision.py
govengine/governance_trace.py govengine/policy
- name: Test
run: python -m pytest -q
edge-integration:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
- uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6
with:
python-version: '3.13'
- name: Install pinned SCLite edge
run: |
python -m pip install -r .github/release-build-requirements.txt
python -m pip install -r .github/release-test-requirements.txt
python -m pip install "sclite-core @ git+https://github.com/rozmiarD/SCLite.git@66dff5cf7d75059e13db92b553c192caf67c0338"
python -m pip install --no-build-isolation -e '.[dev]'
- name: Test pinned edge integration
run: python -m pytest -q
package-dry-run:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
- uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6
with:
python-version: '3.13'
- name: Install exact release tooling
run: |
python -m pip install -r .github/release-build-requirements.txt
python -m pip install "sclite-core==2.0.1"
- name: Build exact hosted-runner review artifacts
run: PYTHON=python bash scripts/build_release_artifacts.sh --outdir dist
- name: Prove deterministic source artifacts
run: PYTHON=python bash scripts/reproducible_build_gate.sh
- name: Exercise synthetic record-only A/B gate
run: PYTHON=python bash scripts/release_ab_repro_gate.sh
- name: Exercise wheel and sdist package smoke
run: PYTHON=python bash scripts/package_smoke.sh
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
with:
name: govengine-hosted-runner-review-artifacts
path: dist/*
if-no-files-found: error