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/03/19 03:50:18 UTC

Re: build pipeline

Hello again,

attempt two of the github actions build pipeline is here:
https://github.com/apache/netbeans/pull/3785

the reason it took so long is because I had to wait for github finally 
rolling out the feature which lets you restart individual jobs without 
restarting the full workflow.

current setup:
  - base-build builds all clusters on JDK 11 and 17, archives the full 
workspace of the 11 node and passes it on to all secondary jobs.
  - all secondary jobs use JDK 11, except PHP which has to use 8 due to 
a failing code folding test

my whish list:
  - it would be great if someone could split the php editor tests into 
at least two sets, 2h+ is simply too long for a single work unit. 
Ideally it would be a short validation set, and two sets of whatever 
remains so that it can be run in parallel.
  - would be nice if PHP could test on JDK 11 too, I couldn't get the 
code folding test to work, I believe Neil tried that back in January too.

the remaining uncertainty:
The build creates an ~1.5 GB artifact with 1 day retention time (which 
is the minimum). I don't know how the apache github billing works - this 
could be a problem. Maybe we should ask someone? If CPU time is cheaper 
we could keep it as before which would add 12min to every job. We could 
also potentially upload it somewhere else.


travis:
I have a draft PR here which proposes an exile job for tests which don't 
behave:
https://github.com/apache/netbeans/pull/3781

the basic idea is to move unreliable tests into short job(s) which can 
be restarted quickly without wasting CPU time for ~1h. This should 
stabilize job 13 - everyone knows that one. This would also allow usage 
of travis_retry without having to worry about the log size limits too much.

thoughts?

best regards,
michael


On 25.10.21 07:21, Michael Bien wrote:
> Hello,
>
> I tried to create a github actions config which is closer to a classic 
> CI pipeline.
>
> base-build job (~22 mins):
>  - JDK 8 on linux
>  - full build of netbeans + commit-validation task but without zip 
> distribution
>  - archives the entire workspace and uploads it as artifact
>
> secondary jobs:
>  - jdk 11/17 on various OSes etc
>  - only start if base-build succeeds
>  - extract the workspace
>  - run more tests with that workspace
>  - upload junit results (yey - main reason why i started this)
>
> example run:
> https://github.com/mbien/netbeans/actions/runs/1379449244
>
> (note: you can download the entire workspace if you want which might 
> be useful for debugging purposes, currently retained for 1 day)
> (note2: i disabled a lot of tests on the secondary jobs for now to not 
> waste resources)
> (note3: someone has to fix the tests on JDK 17(!))
> (note4: php tests don't generate test result xmls, thats why nothing 
> is uploaded)
>
>
> My questions for those who are more familiar with the NB build:
>
> Are there any tasks which can be run without having to build anything, 
> e.g license checks?
>
> Is there anything else i should put on the secondary jobs beside 
> commit-validation (and the php cluster specific tests)? Reliable tests 
> which don't break like those on travis - which only leads to devs 
> completely ignoring them.
>
> What do you think about this in general?
>
> regards,
>
> 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