Open lindjacob opened 1 month ago
Automation and Efficiency:
Continuous Integration and Continuous Deployment (CI/CD):
Branch Isolation:
Deployment Control:
Lack of Issue Tracking:
Efficiency:
Rebasing Risks:
Testing Coverage:
Resource Intensity:
Complexity for New Developers:
Given my thoughts on the positives/negatives I would probably prefer a CI/CD workflow that uses issues and human oversight for the rebasing process.
Imagine we have a GitOps branching and deploy strategy that doesn't rely on Pull Requests, but simply rely and branches and tags. It goes like this.
π All development must be done on development branches - named after the issue it solves
π When a development on a branch is done it's marked with a
READY
tag which triggers a GitHub workflow that will:rebase
to main - if new commits has arrived.main
only if unit test is successfulπ When a new commit is added to
main
it triggers a GitHub workflow that will:stage
environmentπ When a commit on
main
it tagged with a SemVer[^semver] tag it triggers a GitHub workflow that will:prod
environment[^semver]: Semantic Versioning is s three-level integer version tag, the levels indicate
major
,minor
andpatch
levels ..github/workflows/*.yml
file - that implements this behaviour. Not the actual tests and deploys but the workflow that would trigger them.