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: [email protected]
For additional commands, e-mail: [email protected]
For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists