Skip to content

Keeping master always green & Emergency deployments #1116

Open
@eldad87

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions