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
dist/
build/
uv.lock

View file

@ -89,7 +89,6 @@ autoresearch-quantum/
│ ├── test_persistence.py JSON store round-trips
│ ├── test_scoring.py Score function correctness
│ └── 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
├── THE_STORY.md Narrative documentation (system design)
├── 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
```
### 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
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)
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
if it violates these invariants.
regressions. Adding a new notebook or modifying an existing one will fail
validation (`app.sh validate`) if it violates these invariants.
---
@ -629,7 +629,6 @@ autoresearch-quantum/
test_scoring.py Score functions
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
data/ Output directory (created at runtime)