Refactor CI/CD to use a unified, reusable workflow architecture
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
- Issue type
- Refactor
- Clarity
- Mostly clear
- Activity status
- Stale
- Domain
- build-system, ci-cd, devops
Research direction
Start by reading .github/workflows/reusable-unified-issue-management.yml as the reference, then inventory the existing CI/CD workflow files for build, test, lint, and deploy. Define the reusable workflow_call structure, matrices, runner compatibility, and secret handling before validating with dry-runs and real PRs. Done means the major workflows use the unified template, legacy files are removed or archived, and the workflow documentation is updated.
Written by the indexing model from the issue text.
Description
Goal: Refactor all CI/CD workflows in ghcommon to use a single, reusable workflow template for build, test, lint, and deploy.
Acceptance Criteria:
- All major workflows (build, test, lint, deploy) are refactored to use a single reusable workflow file via 'workflow_call'.
- All jobs use consistent environment setup, caching, and matrix strategies.
- All secrets and environment variables are managed via repository/environment secrets.
- Documentation is updated to describe the new workflow structure and how to add new jobs.
- All legacy workflow files are removed or archived.
Technical Notes:
- Use GitHub Actions 'reusable workflows' and 'workflow_call' for DRY principles.
- Use matrix builds for OS, Python/Go versions, and dependency sets.
- Ensure compatibility with self-hosted and GitHub-hosted runners.
- Validate with dry-run and real PRs.
- See .github/workflows/reusable-unified-issue-management.yml for reference.
- Dominant language
- Python
- Stars
- 2
- Forks
- 0
- Avg merge
- 18h 8m
- Merged PRs (30d)
- 14
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from falkcorp/github-common
-
Add SECURITY.md file Opendocumentation enhancement module:database module:ui priority:medium security
Difficulty 1/5 1-3 hours Newbie friendliness 72/100
falkcorp/github-common#81 ·
-
documentation module:ui priority:medium security
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
falkcorp/github-common#78 ·
-
ci/cd documentation enhancement priority: medium
falkcorp/github-common#264 · 1 assignee ·
-
enhancement needs-triage priority:medium
falkcorp/github-common#150 · 1 reaction · 1 assignee ·
-
enhancement module:queue module:ui priority:medium tech:protobuf
Difficulty 3/5 1-2 days Newbie friendliness 35/100
falkcorp/github-common#99 ·
All issues in falkcorp/github-common
Similar issues
-
documentation help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
simonw/sqlite-utils#872 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100