Remove GitHub Actions CI — validate locally with app.sh validate

CI ran on every push and generated failure emails. For a single-developer
project, local validation is sufficient and less noisy.
This commit is contained in:
saymrwulf 2026-04-16 10:23:11 +02:00
parent e7674ee5c0
commit e7b8b02a88
4 changed files with 3 additions and 91 deletions

View file

@ -1,79 +0,0 @@
name: CI
on:
push:
branches: [master]
pull_request:
branches: [master]
permissions:
contents: read
jobs:
lint:
name: Lint & Type Check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -e ".[dev]"
- name: Ruff check
run: ruff check src/ tests/ scripts/
- name: Ruff format check
run: ruff format --check src/ tests/ scripts/
- name: Mypy
run: mypy src/autoresearch_quantum/
test:
name: Tests (Python ${{ matrix.python-version }})
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.11", "3.12"]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -e ".[dev,notebooks]"
- name: Run unit tests
run: pytest tests/ -k "not test_notebook_executes and not test_browser" -v --tb=short
- name: Run notebook structure tests
run: pytest tests/test_notebooks.py tests/test_pedagogy.py -k "not test_notebook_executes" -v --tb=short
notebook-execution:
name: Notebook Execution
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -e ".[dev,notebooks]"
python -m ipykernel install --user --name python3
- name: Run notebook execution tests
run: pytest tests/test_notebooks.py -k "test_notebook_executes" -v --tb=short -x

1
.gitignore vendored
View file

@ -45,3 +45,4 @@ paper/*.synctex.gz
# Build artifacts # Build artifacts
dist/ dist/
build/ build/
uv.lock

View file

@ -89,7 +89,6 @@ autoresearch-quantum/
│ ├── test_persistence.py JSON store round-trips │ ├── test_persistence.py JSON store round-trips
│ ├── test_scoring.py Score function correctness │ ├── test_scoring.py Score function correctness
│ └── test_teaching.py Assessment widget & tracker tests │ └── test_teaching.py Assessment widget & tracker tests
├── .github/workflows/ci.yml CI: lint, type check, test matrix, notebook execution
├── .pre-commit-config.yaml Ruff, mypy, nbstripout, hygiene hooks ├── .pre-commit-config.yaml Ruff, mypy, nbstripout, hygiene hooks
├── THE_STORY.md Narrative documentation (system design) ├── THE_STORY.md Narrative documentation (system design)
├── pyproject.toml Build config, dependencies, tool settings ├── pyproject.toml Build config, dependencies, tool settings
@ -411,14 +410,6 @@ All three run automatically as **pre-commit hooks** (`.pre-commit-config.yaml`).
.venv/bin/pre-commit install .venv/bin/pre-commit install
``` ```
### CI/CD
The GitHub Actions pipeline (`.github/workflows/ci.yml`) runs on every push and PR:
1. **Lint job** --- ruff check, ruff format --check, mypy strict (Python 3.11)
2. **Test job** --- full test suite on Python 3.11 and 3.12 matrix
3. **Notebook execution job** --- runs all 12 notebooks end-to-end via nbclient
## Extending The Ladder ## Extending The Ladder
The intended progression is: The intended progression is:

View file

@ -478,8 +478,8 @@ quality invariants across all content notebooks:
- All four plans collectively cover core concepts (stabiliser, magic, witness, ratchet) - All four plans collectively cover core concepts (stabiliser, magic, witness, ratchet)
These tests catch pedagogical regressions the same way unit tests catch code These tests catch pedagogical regressions the same way unit tests catch code
regressions. Adding a new notebook or modifying an existing one will fail CI regressions. Adding a new notebook or modifying an existing one will fail
if it violates these invariants. validation (`app.sh validate`) if it violates these invariants.
--- ---
@ -629,7 +629,6 @@ autoresearch-quantum/
test_scoring.py Score functions test_scoring.py Score functions
test_teaching.py Assessment widgets & tracker test_teaching.py Assessment widgets & tracker
.github/workflows/ci.yml CI: lint, type check, test matrix, notebook execution
.pre-commit-config.yaml Ruff, mypy, nbstripout, hygiene hooks .pre-commit-config.yaml Ruff, mypy, nbstripout, hygiene hooks
data/ Output directory (created at runtime) data/ Output directory (created at runtime)