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