Refactor CI/CD to use a unified, reusable workflow architecture

Open
#87 0 comments 0 reactions 0 assignees View on GitHub

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
Tech stack
github-actions, go, python

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

automation bug ci documentation enhancement github-actions module:cache module:config module:queue module:ui priority:medium refactor

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from falkcorp/github-common

All issues in falkcorp/github-common

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.