Required workflows should have a less strict run mode #43890
Replies: 10 comments 5 replies
-
I was thinking the same thing. Having everything as required makes sense for some, but not all use cases. Now it seems that is actually possible to have required and non-required status checks, but according to the documentation, it depends on the branch name This feels like a bit of an odd limitation |
Beta Was this translation helpful? Give feedback.
-
I had the same feeling after I did my tests. When I read about this new feature, I thought, "yeah, a feature that allows me to add all the necessary Workflows without creating a new workflow in each repo". But then I saw this is more a way to create required status at the org level. it will be nice to use the same mechanics but add organizational workflows, like a workflow to deploy a service |
Beta Was this translation helpful? Give feedback.
-
I'd love if this functionality provided a toggle to turn the required checks on/off. Currently I'm more interested in the ability to globally set workflows to run on all repositories from a central repository without setting any required checks. That would eliminate a lot of boiler plate code that we are pushing across hundreds of repositories. Having the required checks set breaks a lot of such actions. Example:
|
Beta Was this translation helpful? Give feedback.
-
Also have use cases for being able to apply workflows to multiple repos in an org without making it a "required" check. Pretty please, GitHub :) |
Beta Was this translation helpful? Give feedback.
-
As an addition, all jobs inside a required workflow are made required (even if they don't run). So, for example, when you have a workflow that consists of multiple jobs like this: jobs:
required:
runs-on: ubuntu-latest
steps:
- run: echo "second step"
optional:
runs-on: ubuntu-latest
if: ${{ some.condition }}
steps:
- run: echo "optional step" But both jobs are marked as required |
Beta Was this translation helpful? Give feedback.
-
And something else that would benefit from a setting to make checks optional is support for different types on:
pull_request:
types: [opened] and on:
pull_request:
types: [closed] However, as expected, the First run Additional runs |
Beta Was this translation helpful? Give feedback.
-
The distinction between organization-wide required workflows and checks that are marked as required using a branch-protection rule is also confusing. Take this picture for example:
I also don't like that required workflows now force the creation of pull requests for everyone, no exceptions, disregarding the settings in the branch-protection rules of the repo. Ideally I want something like this:
Bonus:
Personally, I could live very well without the bonus, though, since branch-protection rules are needed anyway in each repo and being able to configure in a central place which workflows get run would be by far the largest benefit of this feature. |
Beta Was this translation helpful? Give feedback.
-
To add another scenario where the strictness is an annoyance: we have some automation that updates documentation and indices, triggered on pushes into the default branch. With required workflows, this automation can't push commits directly to the default branch any longer, not even with a personal access token with repo admin permissions:
seems to override all permissions. It might be possible to work around this by creating PRs and have them approved and merged with Actions, but that would defeat the purpose of required workflows making configuration simpler by not requiring per-repo changes. |
Beta Was this translation helpful? Give feedback.
-
Same concern from my side. Definitely we can use Webhooks, GH apps and API to do something similar as alternative way, but it requires more efforts and maintenance of a "solution". |
Beta Was this translation helpful? Give feedback.
-
Hi 👋 , Thanks for the feedback. We are currently working of few features that should address your concerns.
Thanks |
Beta Was this translation helpful? Give feedback.
-
Select Topic Area
Product Feedback
Body
I have tested a bit and it appears that
Required workflows
effectively meansRequired statuses
, which makes sense conceptually, but that might be a little too strict. For instance, I would like to apply a workflow to scan using a certain tool across all repositories, but I don't necessarily want this to beRequired status
, it could soft-fail / fail-open in some situations and I would be ok. Like run as best effort.Beta Was this translation helpful? Give feedback.
All reactions