atrium icon indicating copy to clipboard operation
atrium copied to clipboard

Use random github matrix generation

Open vlsi opened this issue 1 year ago • 4 comments

Platform (all, jvm, js): all Extension (none, kotlin 1.3): none

I suggest using https://github.com/vlsi/github-actions-random-matrix for matrix generation.

It would make it easier to configure the matrix, it would increase test coverage, and it would reduce the amount of CI resources needed (fewer jobs can gain better coverage).

See sample in https://github.com/apache/jmeter/pull/693


*Edit* by @robstoll Note that we currently don't execute exactly the same steps for windows and ubuntu. I think it would be a good point in time to migrate a few steps into jobs and run them in parallel to speed up the whole pipeline a bit. The reason why we have the sequential setup is to compile only once but maybe there is a way to somehow share the outcome of the compilations with further jobs.

vlsi avatar Jun 06 '23 21:06 vlsi

nice idea, I see the benefit of using different jdks. Go ahead :+1:

Out of curiosity: is there a way to fix the config so that one can re-run the same config after a fix?

robstoll avatar Jun 06 '23 21:06 robstoll

Out of curiosity: is there a way to fix the config so that one can re-run the same config after a fix?

Everybody asks it, and I never needed rerunning the same in CI. Random runs in CI are just fine.

The useful feature though is to print a command line to reproduce the run locally (e.g. lang, locale, timezone, other args)

vlsi avatar Jun 06 '23 21:06 vlsi

I guess you have setup all different jdks locally then ? or how do you reproduce it locally?

robstoll avatar Jun 06 '23 21:06 robstoll

I have several jdks locally since some of the projects require Java 17, and some can't build with 17 :)

The need to reproduce locally comes when you want set a breakpoint. In that case installing a JDK is not a big deal

vlsi avatar Jun 06 '23 21:06 vlsi

Hey, I also wouldn't mind working on this one.

BereKanters avatar Jun 10 '24 19:06 BereKanters

@BereKanters great, I you need to merge ubuntu and the windows workflow. You suggest you move Cache android jar and subsequent steps into an own job which always runs with ubuntu-latest. Don't forget to update the badges in the readme (you need to merge them as well).

robstoll avatar Jun 11 '24 05:06 robstoll