-
Notifications
You must be signed in to change notification settings - Fork 47
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Is it possible to exclude a specific check from being required for deployment? #321
Comments
👋 Hey @redoz thank you for opening this issue and sorry for the delay, I was traveling. I think your suggested approach makes a lot of sense. You are probably looking for a new feature where we have something like That could potentially take some time to implement. In the meantime, have you looked into the |
i am looking forward for this feature, some checks is required to deploy o specific environment but not all of them. |
Hi @GrantBirki no worries, I think the inclusion of an So branch-deploy wont run unless the builds pass (that are triggered by watching for path changes), and by default you can't merge the branch even if the builds pass, because the integration test suite hasn't run yet. Once we run the branch-deploy onto one of our dev environments it executes the integration tests and will add the pass/fail check to the PR/Commit. If it fails, I cannot re-run the branch-deploy because no one of the checks are failing (which is slightly annoying, because in order to release that check, we have to push to the branch, which triggers all changed components to rebuild again). But also, I cannot merge the PR because the required branch protection rule has failed, which is exactly what we want. I don't think I can list all component builds as required for branch-deploy, because if they didn't change, they wont rebuild, so they by definition didn't pass then, correct? And if that assumption is true I'd then be forced to rebuild every component on any change in the PR which would be quite inefficient. |
@redoz Thank you for the clarity here! So it does indeed sound like a |
Upon further research into this feature, I have decided against making an So in practice, the features that people are really going to want is being able to control which CI checks (not contexts) control whether their deployment can proceed or not. Currently, the
I am going to make it so that the To complement these changes, I will also make a new input option called |
@GrantBirki that sounds like it would fit my use case perfectly, thank you! |
@redoz These changes are merged into |
Here is the latest RC containing the changes if you want to test it out! |
Just changed our workflow to use the RC and the new |
Details
We use branch-deploy to deploy to our dev environments and part of that deployment is to run our integration test suite. This test suite creates a check in github to indicate whether it succeeded or not, and this check is required to succeed for us to merge this branch into main.
Now, branch-deploy also requires all checks to pass before running the deployment, so we have a bit of a catch 22 if the integration tests fail, we cannot re-run the deployment without touching the branch to reset the failed check, which could trigger lengthy builds due to the content in the pull request.
In theory this isn't something that should be required, the tests fail, you should fix them before trying to re-run them, but unfortunately it can happen due to the complexity of the system and the tests that a test can fail due to an issue with an external dependency.
I think in effect what I'm asking for is an inverse to
required_contexts
, a way to opt out of a check being required for the deployment (even though it's required in the branch protection settings of the repository).The text was updated successfully, but these errors were encountered: