ci(workflows): add reusable python-django quality workflow - #15
Merged
Conversation
dkdndes
added a commit
that referenced
this pull request
Mar 10, 2026
* patch: Update README.md Signed-off-by: Peter <dkdndes@gmail.com> * ci: add release-please auto-merge workflow template (#4) * ci: add canonical changelog workflow template and centralized docs (#5) - Add changelog.yml workflow template with PR-based auto-merge pattern - Add changelog.properties.json template metadata - Add docs/centralized-workflows.md as central reference - Update README with workflow templates table and adoption checklist * feat(templates): add infrastructure template and regression test section (#3) * feat(templates): add infrastructure issue template and regression test section - Add infrastructure change issue template (infra.yml) for cross-repo provisioning and tooling requests - Enhance bug report with optional regression test section: assertion, diagnostic hint, and lesson learned fields - Add checklist item: "I considered whether a regression test should guard this fix" These templates apply org-wide to all alpininsight repositories. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat(labels): add infrastructure label for org-wide sync Add 'infrastructure' label to labels.yml so the sync-labels workflow propagates it to all 38+ repositories. Matches the new infrastructure issue template. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> * ci: add release workflow template and expand branch guard prefixes (#6) Add release.yml workflow template with workflow_dispatch fallback for manual triggering when push events fail to fire. Update pr-branch-guard template to accept all conventional commit branch prefixes (build/, ci/, test/, style/, perf/, release/) in addition to the existing set. * feat(workflows): add reusable monorepo GitVersion manifest automation (#7) * feat(workflows): add monorepo gitversion manifest template * fix(workflows): guard monorepo diff when base sha is unavailable * docs(versioning): align develop guidance with main (#8) * ci(org): add tree-diff release backlog advisory (#11) * docs(plan): add atomic design workflow standardization plan (#13) * ci(templates): add feature-ci, pr-title-lint, and pre-commit update templates (#12) * ci(templates): add feature-ci, pr-title-lint, and pre-commit update templates Add three new workflow templates that are currently copy-pasted across multiple org repos without a central template: - feature-ci: Python CI with uv, ruff, pytest, and quality gate (used in 8 repos) - pr-title-lint: Conventional Commits enforcement for PR titles (used in 3 repos) - scheduled-pre-commit-update: Weekly hook updates with PAT token fix (used in 3 repos) The pre-commit update template uses INSIGHT_TOKEN instead of GITHUB_TOKEN so that CI workflows trigger on the automatically created PRs. Update centralized-workflows.md with documentation for all three templates and expand the adoption checklist with Python-specific items. Ref: alpininsight/insight-ui#94, #9 * ci(templates): address PR #12 review comments * ci(policy): standardize gitversion release strategy (#14) * ci(policy): standardize gitversion release strategy * docs(plan): mark M1 as in review * ci(workflows): add reusable python-django quality workflow (#15) * ci(workflows): add reusable python-django quality workflow * docs(plan): mark M5 in review * ci(workflows): publish reusable python-django container build to main (#17) * ci(workflows): add reusable python-django container build * ci(workflows): require explicit non-ghcr registry credentials * docs(plan): update M5 and M6 publication status * docs(plan): update M6 and M7 status (#18) * ci(workflows): fix reusable quality token handling (#20) * ci(workflows): pass GitHub read token via BuildKit secret (#19) * ci(workflows): pass github read token via buildkit secret * ci(workflows): preserve legacy docker auth compatibility * ci(guard): allow release/* branches to target main and expand develop prefixes (#10) - Allow release/* branches to target main (needed for merge-commit release PRs when squash-merge divergence requires conflict resolution) - Expand develop branch prefixes to include all conventional commit types: perf/, style/, test/, build/, ci/, release/ * ci(release): remove release-please auto-merge template --------- Signed-off-by: Peter <dkdndes@gmail.com> Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
python-django-quality-reusable.ymlworkflow for Python UI and Django reposfeature-ci.ymlM1as merged andM5as in reviewWhy
feature-ci.ymlstandardized the basic checks, but each consumer repo still had to carry a local copy and then drift.M5centralizes the actual Python/Django quality contract in the org repo so consumer repos can keep a thin caller workflow.This also makes the workflow intent explicit for developers:
uv syncreproduces the locked environmentpre-commitenforces repository-wide hygieneruffkeeps linting and formatting consistentpytestverifies runtime behaviorValidation
uvx --from pyyaml python3YAML parse for.github/workflows/python-django-quality-reusable.ymlgit diff --checkPlan
This is
M5fromdocs/atomic-design-workflow-standardization-plan.md.M6remains the next.githubmolecule for the companion Python/Django container-build reusable workflow.