Two minor corrections in what I wrote... On Wed, Sep 13, 2023 at 08:30:10PM -0400, Jeff King wrote: > (BTW, one other thing I tried was using fromJSON(vars.CI_CONFIG) in the > "on" expression, which in theory would allow globbing. But it doesn't > look like expressions work at all in that context. And even if they did, > I'm not sure we could make it work such that an empty CI_CONFIG used > some defaults, since there's no conditional-expression ternary > operator). It's not a real ?: operator, but GitHub does use the word "ternary" to describe the short-circuit behavior of: condition && "if-true" || "if-not-true" So in theory we could do: on: ${{ fromJSON(var.CI_ON != '' && vars.CI_ON || "[pull_request, push]" }} but I couldn't make it work (it complains about the value of "on" in such a way that I assume it is simply not expanding expressions at all). > We have the necessary bits at the protocol: push-options. But it's up to > the server-side hooks to decide which ones are meaningful and to do > something useful with them. It looks like GitLab supports: > > git push -o ci.skip=1 ... > > but I don't think GitHub respects any equivalent option. The syntax here is actually just "git push -o ci.skip", without the equals. -Peff