On Tue, May 05, 2020 at 11:26:38PM +0700, Đoàn Trần Công Danh wrote: > It seems like there're 2 schools for GitHub Actions, > - Opt-in by using some specific patterns > - Opt-out by using some specific patterns > > I tried to help everyone happy, but with my current knowledge, I couldn't. Yeah, I agree it's not possible to make anyone happy. I think the special handling of git/git and gitster/git in patch 3 is not worth doing. That case is already easy to solve because it's two repos: just turn off Actions in gitster/git if Junio isn't looking at the results, and leave them on in git/git. The real problem we're trying to solve is people with forks who might want some branches with CI, but not others. Right now the only solution is for them to make a separate repository, and push to both. To do that we need some way of getting per-branch information into the Actions workflow. The ideal solution would just pull extra data from some other ref or config within the repository, but there doesn't seem to be a way to do that. So we're left with: - changing the tree of the branch; this is painful to manage, and the tree changes risk leaking out when we send out patches, etc. I think we all agree this is too horrible. - annotating the commit message with [skip ci] or similar. This is less painful, but still risks leaking out during patch mailing, etc. - sticking data in the branch name. This is the "for-ci" thing, which requires you to opt-in to CI. But it could be -wip or -no-ci or whatever, which would flip the default. The third one seems like the only workable thing, so we have to pick a direction. I prefer "for-ci" to "no-ci" because it's easier to add a refspec to push to for-ci/* than it is to remember to put "no-ci" in every branch name that you _don't_ want built. -Peff