[skip ci] feature prevents PR from being merged

If Github’s “Require status checks to pass before merging” is enabled, then commits that skipped CI prevent PRs from being merged.

I can see that skipped commits produce neutral status. Is there a way to change it so that skipped commits behaved in a way that didn’t modify last non-skipped commit status? I.e. if last non-skipped commit failed, then PR would remain blocked due to failed checks and if last non-skipped commit succeeded, then PR could be merged?

Github API docs mention skipped conclusion that seems more appropriate, but I’m not sure how will Github treat it.

1 Like

You have a good handle on the feature. This is how it was designed to work, so right now you can’t modify the status.

@thekatertot doesn’t that essentially negate the effects of [skip ci] feature when used with Github’s “Require status checks to pass before merging”?

Perhaps documentation should be updated to state that the feature only has practical effect if Github’s “Require status checks to pass before merging” is not activated?

2 Likes

You may be right that we can update the docs to better reflect the feature’s effects. I’ll surface this to the docs team - thank you!

This isn’t a documentation issue, it’s a flaw in the feature. The entire point of skipping CI is that the user has determined the checks are not necessary for that commit.