Skip to content

improve: update CI action versions, add py.typed marker, add py3.13 classifier, fix Makefile typecheck target #2

improve: update CI action versions, add py.typed marker, add py3.13 classifier, fix Makefile typecheck target

improve: update CI action versions, add py.typed marker, add py3.13 classifier, fix Makefile typecheck target #2

Workflow file for this run

name: release-audit
on:
pull_request:
branches: [main, master]
push:
branches: [main, master]
workflow_dispatch:
jobs:
audit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
with:
path: target
- name: Check out the shared release-audit harness
uses: actions/checkout@v6
with:
repository: Coding-Dev-Tools/release-audit
path: harness
# Pin to a tag once a stable release is published; main is fine
# for now since the harness is small and self-contained.
ref: main
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: "3.11"
- name: Run the 8-angle release audit
working-directory: harness
env:
GITHUB_WORKSPACE: ${{ github.workspace }}
run: |
python audit.py "$GITHUB_WORKSPACE/target" --out-dir scorecard
python3 - <<'PY'
import json, os, pathlib
repo = pathlib.Path(os.environ["GITHUB_WORKSPACE"], "target").name
data = json.loads(pathlib.Path("scorecard", f"{repo}.json").read_text())
print("## Release Audit (8 angles)")
print()
print(f"**Overall grade: {data['overall_grade']}** ({data['angles_passing']}/{data['angles_total']} angles passing)")
print()
print("| Angle | Grade |")
print("|-------|-------|")
for a in data["angles"]:
print(f"| {a['angle']} | {a['grade']} |")
PY
- name: Fail on blockers
working-directory: harness
env:
GITHUB_WORKSPACE: ${{ github.workspace }}
run: |
python3 - <<'PY'
import json, os, pathlib, sys
repo = pathlib.Path(os.environ["GITHUB_WORKSPACE"], "target").name
data = json.loads(pathlib.Path("scorecard", f"{repo}.json").read_text())
if data["blockers"] > 0:
print(f"::error::{data['blockers']} release-blocker angle(s) — see audit output above")
sys.exit(1)
PY