Skip to content

ci(workflows): add reusable python-django quality workflow - #15

Merged
dkdndes merged 2 commits into
mainfrom
ci/m5-python-django-quality-reusable
Mar 9, 2026
Merged

ci(workflows): add reusable python-django quality workflow#15
dkdndes merged 2 commits into
mainfrom
ci/m5-python-django-quality-reusable

Conversation

@dkdndes

@dkdndes dkdndes commented Mar 9, 2026

Copy link
Copy Markdown
Member

Summary

  • add the reusable python-django-quality-reusable.yml workflow for Python UI and Django repos
  • document when developers should use the reusable workflow instead of copying feature-ci.yml
  • update the Atomic Design plan to mark M1 as merged and M5 as in review

Why

feature-ci.yml standardized the basic checks, but each consumer repo still had to carry a local copy and then drift. M5 centralizes 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 sync reproduces the locked environment
  • pre-commit enforces repository-wide hygiene
  • ruff keeps linting and formatting consistent
  • optional Django checks fail configuration drift earlier
  • pytest verifies runtime behavior
  • the quality gate provides one stable required check

Validation

  • uvx --from pyyaml python3 YAML parse for .github/workflows/python-django-quality-reusable.yml
  • git diff --check
  • documentation presence checks for the new reusable workflow section and usage example

Plan

This is M5 from docs/atomic-design-workflow-standardization-plan.md.
M6 remains the next .github molecule for the companion Python/Django container-build reusable workflow.

@dkdndes
dkdndes merged commit af69178 into main Mar 9, 2026
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant