--- Begin Message ---
On Jan 6, 2022, at 3:22 PM, Guy Harris via tcpdump-workers 
<tcpdump-workers@lists.tcpdump.org> wrote:

> On Jan 6, 2022, at 3:00 PM, Denis Ovsienko via tcpdump-workers 
> <tcpdump-workers@lists.tcpdump.org> wrote:
> 
>> Do you think https://www.tcpdump.org/ci.html should document [skip cirrus] 
>> and [skip appveyor]?
> 
> [skip appveyor], possibly.

Cirrus documents that any of [skip ci], [ci skip], or [skip cirrus] in the 
first line of the commit message will suppress a CI build:

        https://cirrus-ci.org/guide/writing-tasks/

AppVeyor documents that any of [skip ci], [ci skip], or [skip appveyor] in the 
commit message title (first line, presumably) will suppress a CI build:

        https://www.appveyor.com/docs/how-to/filtering-commits/

It appears that a "GitHub skip hook" may have been first introduce in Buildbot 
0.9.11:

        https://docs.buildbot.net/0.9.11/relnotes/index.html

with the hook being configurable by a regex match.  The 0.9.11 documentation of 
the "skips" parameter of the GitHub hook:

        https://docs.buildbot.net/0.9.11/manual/cfg-wwwhooks.html#chsrc-GitHub

does not say anything about the skip item having to be on the first line of the 
commit message; it does say that the default parameter is

        [r'\[ *skip *ci *\]', r'\[ *ci *skip *\]']

so either [skip ci] or [ci skip] (with arbitrary numbers of blanks thrown in 
after [, between the words, or before ]) should work.

OpenCSW's buildbot:

        https://buildfarm.opencsw.org/buildbot/

claims to be running Buildbot 0.8.14; from the tests I ran, it skips the build 
if [skip ci] is on the first line of the message, but not if it's after that 
line.  I don't know whether there was a "skip ci" feature in older versions, or 
if the OpenCSW people implemented it themselves, checking only the first line.

All the Buildbot instances we've set up appear to be running Buildbot 3.4.0, 
which appears to handle [skip ci] anywhere in the commit message.

With a test I did by doing commits adding or removing blank lines from 
CMakeLists.txt, and with various commit messages, it appears that:

        if the first line of the commit message ends with [skip ci], *all* CI 
builds are being suppressed (Cirrus, AppVeyor, OpenCSW, the buildbots we set 
up);

        if some *other* line of the commit message is [skip ci], our buildbots 
skip the build, but Cirrus CI, AppVeyor, and OpenCSW don't skip it;

which appears to agree with what's documented above plus the hypothesis that 
OpenCSW's buildbot supports [skip ci] on the first line only.

So:

        to suppress *all* builds, put [skip ci] on the first line;

        to suppress only AppVeyor builds (which currently means "do only UN*X 
builds"), put [skip appveyor] on the first line;

        to suppress only Cirrus builds (which means "skip x86-64 Linux, x86-64 
macOS, and x86-64 FreeBSD", but that doesn't suppress ARM64 FreeBSD or 
non-x86-64 Linux, so I'm not sure how useful it is), put [skip cirrus] on the 
first line;

        to suppress only our buildbot builds, put [skip ci] somewhere *other* 
than the first line;

        to supporess any set of builders that's the union of the three lines 
above, do the items for the builders in question.

There does not seem to be a way to do *only* Windows builds.  Putting [skip 
cirrus] on the first line and [skip ci] elsewhere in the commit message is the 
closest to that, but it won't suppress the OpenCSW builds, meaning "only 
Windows and Solaris".

--- End Message ---
_______________________________________________
tcpdump-workers mailing list
tcpdump-workers@lists.tcpdump.org
https://lists.sandelman.ca/mailman/listinfo/tcpdump-workers

Reply via email to