planning to finalize the CI PR and merge it right after the GraalJS
PR(s) #7248, so that it is active before branching.
-mbien
On 10.04.24 22:25, Michael Bien wrote:
Hello Devs,
the ASF released new gh CI guidelines for apache projects which will
come into effect on April 20:
https://infra.apache.org/github-actions-policy.html
we are above some limits unfortunately (e.g "concurrency level").
I had some conversations on the #asfinfra channel on apache slack to
get a better idea for what to optimize for and could confirm my
suspicion that even though the guideline is highlighting node count
and similar metrics, the main intend is to put boundaries on costs,
and CI node minutes are the main factor on the github bill.
This is actually good news for us, since reducing node count would be
difficult to achieve due to the fact how many areas IDE tests cover -
but making CI more efficient is something we try to do anyway. However
this doesn't mean that we should simply ignore the guideline for
"concurrency level", its just that it comes secondary to the
total-time-spent value of the workflow.
I am proposing to do the following:
- reduce node count slightly by merging some jobs
- add more labels for more control over what is tested
- test even less if labels are not set
The last point is the significant one. I got asked a few times
questions like: "why are enterprise tests running even though I didn't
set the label for it". The reason for that was because labels did in
some cases only enable additional, long running steps _within_ jobs so
that there would be still _some_ coverage in a unlabeled PR in an
attempt to keep master more stable.
This would now change. If there is no "Java" label on the PR, no java
specific tests will run and a "Java" labeled PR will run no PHP,
Groovy... etc tests. Further:
- 'git', 'subversion' and 'mercurial' labels trigger the versioning job
- 'Java EE/Jakarta EE', 'Micronaut' and 'enterprise' labels trigger
the enterprise job
- 'JavaScript', 'TypeScript', 'HTML', 'CSS', 'CSL' and 'web' labels
trigger the web job
- 'Ant', 'Gradle', 'Maven' and 'MX' labels trigger the build-tools job
(same as before)
Additionally: CI-runs outside of PRs would test with a reduced matrix
and leave a few things out. To stick with the same example as above, a
PR labeled with "Java" might have more components in the matrices of
the java jobs than the post-merge workflow run.
As always I am going to update the label descriptions so that they
reflect what the labels do. All labels which influence CI have their
description prefixed with [ci] so that they show up in the search on
github (see wiki for screenshots *).
PR: https://github.com/apache/netbeans/pull/7206
thoughts / comments appreciated, now its a good time to change things,
best regards,
michael
*
https://cwiki.apache.org/confluence/display/NETBEANS/PRs+and+You+-+A+reviewer+Guide
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@netbeans.apache.org
For additional commands, e-mail: dev-h...@netbeans.apache.org
For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists