On 2020-05-03 05:36:46-0400, Jeff King <peff@xxxxxxxx> wrote: > On Sat, May 02, 2020 at 03:08:07PM +0000, Johannes Schindelin via GitGitGadget wrote: > > > It was mentioned to me that it might not be totally helpful to run all > > the builds whenever an in-progress branch is pushed to GitHub. For > > example, if a contributor has dozens of topic branches in flight, they > > might not want to have all of them built whenever a new end-of-day push > > happens. > > As I was probably (one of) the mentioners here, thank you for looking > into this. This definitely _helps_, and if you don't want to go further > I could certainly make do with it[1]. > > But here are some thoughts on what a more ideal solution would look > like (to me, anyway). > > What I'd _most_ like is a separately-maintained list of branches (or > branch patterns) on which to run CI. I mostly care about just testing > my personal equivalent of "next" (which is really "next" plus my stable > topics), and I'd probably only list that branch. Plus potentially a > special CI branch that I'd use when chasing down a failure that I can't > reproduce locally. > > But I don't think there's any good way to implement that via GitHub > Actions. I thought perhaps we could pull data from a different branch in > the same repo, but referring to external "Actions" seems to require a > full repo name (and obviously putting git/git in that name doesn't help > anybody who's trying to override something in a fork). > > Another alternative: could we trigger CI based on branch-names? Locally, > I call my unstable branches "jk/something-wip", and I'd like to skip all > of the "-wip" branches. That's basically equivalent to "[skip ci]" in > that I could just amend the tip commit of the -wip branches to say "skip > ci". But what if we flipped the default to _not_ build? I.e.: > > - continue to build all pull requests; if you opened one, you're > serious enough to have other people look and should get CI feedback > > - build branches with a few well-known names or patterns. Maybe > names like "master"? Or maybe "refs/heads/build-ci/*"? Or maybe > anything in "refs/heads/<initials>/*"? We'd have to decide on a > convention as a community. I think this is better approach for Junio, and we can help people opt in by asking them to push into "for-ci/<some-name>. This is my proposal for it: ------------------8<------------- From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?= <congdanhqx@xxxxxxxxx> Date: Sun, 3 May 2020 18:56:50 +0700 Subject: [PATCH] CI: GitHub: limit GitHub Action to intergration branches MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Đoàn Trần Công Danh <congdanhqx@xxxxxxxxx> --- .github/workflows/main.yml | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index fd4df939b5..303393ba73 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,6 +1,19 @@ name: CI/PR -on: [push, pull_request] +on: + pull_request: + branches: + - '*' + push: + branches: + - maint + - master + - next + - jch + - pu + - 'for-ci/**' + tags: + - '*' env: DEVELOPER: 1 -- 2.26.2.672.g232c24e857