|
| 1 | +# Production Checklist |
| 2 | + |
| 3 | +Use this checklist before shipping a new `aztec-py` version to production. |
| 4 | + |
| 5 | +## 1. Pre-Release Validation |
| 6 | + |
| 7 | +- [ ] `python -m pytest -q` |
| 8 | +- [ ] `python -m ruff check .` |
| 9 | +- [ ] `python -m mypy --strict aztec_py` |
| 10 | +- [ ] `python -m build` |
| 11 | +- [ ] `python scripts/decoder_matrix.py --report compat_matrix_report.md` |
| 12 | +- [ ] If decode runtime is available in CI: `python scripts/decoder_matrix.py --strict-decode` |
| 13 | + |
| 14 | +## 2. Runtime Optional Dependencies |
| 15 | + |
| 16 | +- [ ] Verify `aztec-py[pdf]` installs and `AztecCode(...).pdf()` works. |
| 17 | +- [ ] Verify `aztec-py[decode]` behavior: |
| 18 | + - [ ] successful decode path when Java + ZXing are available |
| 19 | + - [ ] clear error path when runtime/dependency is missing |
| 20 | + |
| 21 | +## 3. GS1 Integration Readiness |
| 22 | + |
| 23 | +- [ ] Build GS1 payloads using `GS1Element` + `build_gs1_payload`. |
| 24 | +- [ ] Ensure variable-length elements are marked with `variable_length=True`. |
| 25 | +- [ ] Confirm payloads with scanner app/hardware in target environment. |
| 26 | + |
| 27 | +## 4. Release Hygiene |
| 28 | + |
| 29 | +- [ ] Update `CHANGELOG.md`. |
| 30 | +- [ ] Confirm `README.md` examples still execute. |
| 31 | +- [ ] Verify version metadata in `pyproject.toml`. |
| 32 | +- [ ] Build artifacts from clean working tree. |
| 33 | + |
| 34 | +## 5. Post-Release Smoke Checks |
| 35 | + |
| 36 | +- [ ] Install built wheel in fresh venv. |
| 37 | +- [ ] `python -c "import aztec_py; print(aztec_py.__all__)"` |
| 38 | +- [ ] `aztec "Hello" --format terminal` |
| 39 | +- [ ] `aztec "Hello" --format svg > smoke.svg` |
| 40 | +- [ ] `aztec "Hello" --format png --output smoke.png` |
| 41 | + |
| 42 | +## 6. Incident Guardrails |
| 43 | + |
| 44 | +- [ ] Keep compatibility fixture failures as release blockers. |
| 45 | +- [ ] Log scanner model/runtime for each production decode issue. |
| 46 | +- [ ] Add a regression fixture for every production bug before patching. |
0 commit comments