Add CI pipeline, 15-test suite, enhanced README

- GitHub Actions CI: Python 3.10/3.11/3.12, pytest, smoke tests
- Tests: tape representation, incrementer, even/odd, halt detection,
  step limits, missing transitions, stay direction
- README with badges, theory section, machine creation docs

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

RoadChain-SHA2048: d4d129eaf6941a81
RoadChain-Identity: alexa@sovereign
RoadChain-Full: d4d129eaf6941a815dd5b84bad71115b294f7425d4f184f52ff6770ec641cad192fd361ccea269edefdb8330de6c61b50063d8c103e231bd138fd73fb956d152054336332321ec9e6d1dffa3f3d81cb6295d46d2722116bb9a8239a18d21c6d6d3145e98ff8aff3d5026645db418c5fd0a049f109f8b9e2ee29518a927aade77f315e411b2d0cdfec578f764dcec90da4a0686a39ad1ebcb0bdb9511488efb7f3e14155fe77a550d3b7d07838006a43a3847f239fb2487ca55b22c019ce4ffabc42d0e8e617180ca1aa1ace8fdfcc3ca0f0f24dc7e4be8ed510efcb8f18745217907aa3d5ee94c33b18ff21638ff0b5c0936e5a090f8ad50a1c31ec93787b9fd
This commit is contained in:
2026-03-09 16:25:11 -05:00
parent c6123248fc
commit efffc8e4d6
4 changed files with 231 additions and 36 deletions

34
.github/workflows/ci.yml vendored Normal file
View File

@@ -0,0 +1,34 @@
name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
test:
name: Test (Python ${{ matrix.python-version }})
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.10", "3.11", "3.12"]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: pip install pytest pytest-cov
- name: Run tests
run: pytest tests/ -v --cov=utm --cov-report=term-missing
- name: Smoke test — run included machines
run: |
python utm.py machines/incrementer.json --tape "1101"
python utm.py machines/even_odd.json --tape "1111"