>CI should be deterministic

That is an interesting view.
One of the approaches that I have not considered earlier is "seed matrix
randomization from PR index and the branch name".
That would make the set of jobs consistent for each execution of the same
PR.

However, based on my testng/testng experience, it is just fine if the set
of CI jobs varies.
The CI job description does clarify what was special (e.g. timezone, JVM,
OS, etc).

>And also tests with different Guava versions

Do you suggest test all OS, all Guava versions, all timezones in CI?
That is hard to maintain and it takes CI time

>CI should be deterministic. So that if it breaks, the person to fix it is
clear

CI resources are limited, and we can't infinitely scale the build matrix.
I do not really see why Guava versions are more important than operating
systems.
The users should prefer recent Guava versions, and the idea of supporting
(and testing!) ancient Guava versions is doubtful.

On the other hand, we might want to verify different cases like
-XX:hashCode=2 that makes every Object#hashCode() to return 1 always.

Vladimir

Reply via email to