Skip to content

feat: split the history refusal into text and statistic #19

feat: split the history refusal into text and statistic

feat: split the history refusal into text and statistic #19

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
workflow_dispatch:
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
test:
name: test (py${{ matrix.python-version }} on ${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
- { os: ubuntu-22.04, python-version: "3.8" }
- { os: ubuntu-latest, python-version: "3.9" }
- { os: ubuntu-latest, python-version: "3.10" }
- { os: ubuntu-latest, python-version: "3.11" }
- { os: ubuntu-latest, python-version: "3.12" }
- { os: ubuntu-latest, python-version: "3.13" }
- { os: windows-latest, python-version: "3.12" }
- { os: macos-latest, python-version: "3.12" }
steps:
- uses: actions/checkout@v7
- uses: actions/setup-python@v7
with:
python-version: ${{ matrix.python-version }}
- name: Byte-compile
run: python -m compileall -q commitclerk dist/commitclerk.py
- name: Unit tests
run: python -m unittest discover -s tests -v
- name: Single-file build is up to date
run: python scripts/build_single_file.py --check
- name: Unit tests against the single-file build
run: python -m unittest discover -s tests
env:
COMMITCLERK_SOURCE: dist
- name: CLI smoke test
run: python -m commitclerk --help
- name: CLI smoke test (single file)
run: python dist/commitclerk.py --help
lint:
name: lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: actions/setup-python@v7
with:
python-version: "3.12"
- name: Run ruff
uses: astral-sh/ruff-action@v3
with:
args: check --output-format=github
docs:
# The same gate the write path runs locally, called through the action roadkeep
# ships rather than a hand-copied `run:` block that would drift per repository.
# It fails the build on a violated limit, a pointer resolving to nothing, a section
# nothing points at, a dep nothing satisfies, or an always-loaded file over budget.
name: roadkeep lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: alegauss/roadkeep@main