You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@netbeans.apache.org by Michael Bien <mb...@gmail.com> on 2022/09/23 07:20:32 UTC

Re: running CI jobs based on PR labels

should we proceed with this?

most important points:

  - labeling PRs will be important, if you don't label anything: only 
~3h of tests/builds will run
  - labels are picked up before every CI run (changing labels and 
syncing is fine)
  - label your PR before pressing the create PR button, otherwise the 
first run is wasted
  - reviewers should check if sufficient testing was done before 
merging, esp if its from new contributors

why all the effort?

  - it should use far less resources in average
  - more jobs on gh actions means we get better error reports if 
something fails etc
  - less travis

-> https://github.com/apache/netbeans/pull/4431

regards,
-mbien

On 10.08.22 19:22, Michael Bien wrote:
> Hello devs,
>
> while migrating some jobs from travis to github CI, I started making 
> some (time consuming) jobs and/or build steps conditional based on PR 
> labels.
>
> I keep it here short since most of the info is in the PR text, but as 
> example:
>
> The new test job called "Build Tools" would only run if the PR is 
> labeled with Ant, Gradle, Maven or MX.
>
> There are also additional command labels available, ci:all-tests would 
> enable everything, while ci:no-build would as you would guess disable 
> everything (e.g if all what the PR does is to edit a readme or 
> sync-PRs which syncs two branches could use this too, since they build 
> everything twice right now).
>
> This is just about PRs, the merge will always test everything on master.
>
>
> Why labels and not path based dependency checks? Because they never 
> work outside of fairly trivial cases in my experience. They either 
> test too much or not enough and whats worse: the dev has to second 
> guess if the right things are actually being tested - if they aren't 
> there must be also a second mechanism to override the automation.
>
> With labels, reviewers can decide what needs to be tested based on 
> experience. A correctly labeled PR should "just work" most of the time 
> even if you wouldn't know about the details. However, everyone still 
> has to know about it: If you want the right things to be tested, you 
> have to label the PR _before_ pressing the create button, otherwise 
> the first run will have the wrong settings. (syncs will pick up new 
> labels)
>
> I was considering to fail the build for PRs without labels (not 
> implemented).
>
> https://github.com/apache/netbeans/pull/4431
>
> feedback appreciated,
>
> michael
>


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@netbeans.apache.org
For additional commands, e-mail: dev-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists