dlang / ci

dlang CI testing pipelines
https://buildkite.com/dlang
Boost Software License 1.0
13 stars 29 forks source link

Only build on PRs and don't build on commits to stable or master #138

Open wilzbach opened 6 years ago

wilzbach commented 6 years ago
MartinNowak commented 6 years ago

Not really IMO, remember that we don't rebuild pending PRs when master changes, because it's O(N² / 2). To still catch bugs that are caused by semantic differences (not textural ones which would cause merge conflicts), the integration branch needs to be retested. This could indeed be done less often, e.g. daily, because the chances are low and a bit of bisecting add much complexity.

MartinNowak commented 6 years ago

Same goes for AppVeyor and SemaphoreCI, let's please find a common policy for all of those.

wilzbach commented 6 years ago

It doesn't help anyone if no one looks at the errors which is the case at the moment.

MartinNowak commented 6 years ago

Yes, those would need a badge or sth. to be more visible, but someone will notice it eventually already.

MartinNowak commented 6 years ago

Also E-Mail notifications would be appropriate for a broken master.

wilzbach commented 6 years ago

I was the only one subscribed to these mails, but I can't fix everything. For CircleCi, everyone can click on subscribe on their platform to receive such mails, but still I was the only one caring and fixing this when there was a failure a couple of days ago at Phobos. With AppVeyor there were also a couple of random failures in the beginning.

Yes, those would need a badge or sth. to be more visible, but someone will notice it eventually already.

Already there. Also these two CIs aren't mission critical and the free resources they offer are simply not enough to rebuild master on every PR. Daily builds are enabled though.

wilzbach commented 6 years ago

Also with so much frequency on GitHub and every PR merging with master a failure would immediately be discovered, but I haven't seen one case where merging to master made a difference or lead to a failure. The failures are caused by other things.

MartinNowak commented 6 years ago

Yes, daily build would still help to catch the rare issues that mostly happen with major refactorings. Since Kenji no longer works on the compiler, those have indeed become extremely rare.

wilzbach commented 6 years ago

On Buildkite we could in theory ignore building master ("Branch limiting") - https://buildkite.com/dlang/dmd/settings/repository