feat: implement modular gitflow workflows with component-based architecture and application examples#2
feat: implement modular gitflow workflows with component-based architecture and application examples#2
Conversation
Co-authored-by: Ryangr0 <3602480+Ryangr0@users.noreply.github.com>
…ation docs Co-authored-by: Ryangr0 <3602480+Ryangr0@users.noreply.github.com>
|
@copilot Please make an example on_source_change.yml and on_release.yml, that will live in the application repo. Those will call the workflows inside webgrip/workflows (this repo) |
…tions Co-authored-by: Ryangr0 <3602480+Ryangr0@users.noreply.github.com>
I've created the example workflow files you requested! You can find them in the
Both files call the Applications can copy these files directly to their Commit: b946e33 |
|
@copilot webgrip/workflows/.github/workflows/gitflow-release.yml@main should not be used in on_source_change.yml. Split up the tests and the static analysis, and use the semantic release and deploy from helm directly in the on_release.yml. Make things make sense. Look over everything and give good direction. |
…onent calls Co-authored-by: Ryangr0 <3602480+Ryangr0@users.noreply.github.com>
I've completely restructured the example workflows to address your feedback: Changes Made:
Key Benefits:
Both workflows are now self-contained and call the appropriate underlying workflows directly, making the architecture much more modular and understandable. Commit: 2e7c2c3 |
This PR implements a comprehensive gitflow-style development workflow that provides both monolithic and modular approaches for better branch management and automated release processes.
Key Features
Modular Component Architecture: The implementation now offers two distinct approaches:
gitflow-release.ymlprovides a single comprehensive workflow for teams preferring unified executionstatic-analysis.yml,tests.yml,semantic-release.yml, etc.) can be called directly for maximum flexibilityApplication-Ready Examples: The
examples/directory contains production-ready workflow templates:on_source_change.yml: Focused development workflow that calls static analysis and testing components directly, with automatic release PR creationon_release.yml: Dedicated release workflow that orchestrates semantic versioning, Docker builds, and Helm deployments using individual componentsClean Separation of Concerns:
on_source_change.yml) handle validation, testing, and release PR automationon_release.yml) handle versioning, building, and deploymentDirect Component Integration: Applications can now choose their preferred approach:
Architecture Benefits
Migration Path
Applications can choose between:
examples/on_source_change.ymlandexamples/on_release.ymlfor maximum controlgitflow-application.ymlfor simplicityThe implementation maintains backward compatibility while providing a clear path toward more modular, maintainable CI/CD architecture.
Fixes #1.
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.