Keeping master always green & Emergency deployments #1116
Description
Description
I'm evaluating shipit for my organization and there are several points that we would like to better understand and probably customize for everyone to use.
Master always green
Problem: Once a PR is enqueued & passed its checks, breaking changes can be added to the stack's branch.
Suggestion:
- Merge all pending PRs into a release branch.
- Trigger a CI process on the newly created release branch.
- If CI fails, reject all PRs.
- Otherwise, Merge the release branch into the stack`s branch.
Such approach will guarantee that our stack branch is always green and the process will minimize bottlenecks caused by long CI processes (Unit test, E2E test, Static code analysis/Linter, etc) by running it on all PRs at once.
Single/Emergency deployments
In extreme cases, developers required to deploy an individual PR due to its complexity or in an attempt to fix a critical bug on production.
Suggestion:
Developers can specify such meta-data on their PR as a comment, for example
deploy:single // Merge & deploy the given PR individually
deploy:emergency // Similar to deploy:single + Cancel all ongoing Stack processes & start immediately
I would like to get some pointers on how to get the job done or alternatives to achieve our goals
Please advise,
Thanks!
Activity