reusable-python-ci.yml assumes a flat, single-package Python repo: it installs requirements-dev.txt from the root, then runs ruff check . and pytest -q there.
swimblocks/officials-admin is the org's first polyglot monorepo — packages/core and services/api in Python, services/web in Next.js, plus per-artifact Docker builds. It needs:
- A working-directory input on the Python workflow, so several Python packages in one repo can each be linted and tested.
- mypy, which the current workflow does not run.
- A Node/TypeScript equivalent —
reusable-node-ci.yml — for vitest, eslint and tsc --noEmit.
Without these, officials-admin writes its own CI from scratch and the org standard stops being the standard on its largest repo. Its plan of record (S1.4) currently specifies bespoke pipelines for exactly this reason.
Worth deciding whether the reusable workflows grow these inputs, or whether a monorepo is simply out of scope for them and officials-admin documents a deviation.
reusable-python-ci.ymlassumes a flat, single-package Python repo: it installsrequirements-dev.txtfrom the root, then runsruff check .andpytest -qthere.swimblocks/officials-adminis the org's first polyglot monorepo —packages/coreandservices/apiin Python,services/webin Next.js, plus per-artifact Docker builds. It needs:reusable-node-ci.yml— for vitest, eslint andtsc --noEmit.Without these, officials-admin writes its own CI from scratch and the org standard stops being the standard on its largest repo. Its plan of record (S1.4) currently specifies bespoke pipelines for exactly this reason.
Worth deciding whether the reusable workflows grow these inputs, or whether a monorepo is simply out of scope for them and officials-admin documents a deviation.