Sounds like you were assuming the effort would require 3 Ekaterina?

Thank you Josh.
Yes, you are totally right. I forgot for a moment that the new scripts are
layered. Valid point about 2.
Now the question is how fast 2 will be to run it and how many people would
actually use it for running full CI.

On Fri, 23 Jun 2023 at 9:37, Josh McKenzie <jmcken...@apache.org> wrote:

> I'll take engagement. Even if it's broadly disagreement. :D
>
> (Full disclosure, I have a weak opinion here held weakly):
>
> Wouldn’t we recommend people to use the test images the project CI use?
> Thus using in testing the versions we use? I would assume the repeatable CI
> will still expect test images the way we have now?
>
> Not exactly no. Check out CASSANDRA-18137
> <https://issues.apache.org/jira/browse/CASSANDRA-18137>, specifically:
>
> Proposal
>
>    - ...
>    -
> *CI-agnostic build and test scripts can be run with docker, and without
>    any CI, on any machine. *
>
>
> I've been discussing this with mck (and working with him on that patch)
> and realistically what we have are architectural layers for CI:
>
>    1. ant
>    2. build/test scripts
>    3. dockerized build/test scripts (using scripts from 2; removes env
>    and setup variability)
>    4. CI integrations (using 3 or output of 2)
>    5. CI lifecycle (full stack setup, run, teardown)
>
> The debate there would be whether we accept CI results from environments
> using 2 (build/test scripts), or we require environments to use 3 (docker
> images so it's all fully uniform). Originally mick and I were leaning
> towards allowing results from environments using 2 which would then
> introduce possible drift in OS, JDK, and python env, which is where my
> questions on this thread came in. Sounds like you were assuming the effort
> would require 3 Ekaterina?
>
>  My concern with this is atrophy; we'll set the version once and when
> finally forced to update
>
> *In theory* we could pretty easily mitigate this through automation. For
> instance, having a branch where we run the test suite with no dependencies
> declared (i.e. run all latest) that we run periodically, and then update
> the main branch to reflect the last good run from that "always run latest"
> branch, could give us a blending of both worlds.
>
> So technically feasible or not, I think there's a good question that's
> surfacing here of "what problem would we be trying to solve". I think that
> pivots on 2 axes:
>
>    1. Do we allow folks to certify in a CI environment using build/test
>    scripts but not using specific docker images we provide on the project?
>    2. How frequently do we see failures in tests (straight failure,
>    flakes, etc) that are due to the versions of dependencies (JDK or python)
>    that we're running the tests with?
>
> Regardless of 1, if the answer to 2 is "almost never", then there's likely
> no bridge to cross here.
>
> To your point JD, our pre-reqs for C* installation in our docs explicitly
> call out "Run Latest JDK", so conforming to that recommendation in our CI
> environment makes sense to me (see here
> <https://cassandra.apache.org/doc/latest/cassandra/getting_started/installing.html#prerequisites>
> ).
>
> On Thu, Jun 22, 2023, at 6:47 PM, Jeremy Hanna wrote:
>
>
> I like having the latest patch release always brought in for testing and
> CI for the JDK versions explicitly supported. So for this release, 11/17.
>
> On Jun 22, 2023, at 5:42 PM, Jeremiah Jordan <jeremiah.jor...@gmail.com>
> wrote:
>
> 
> Yes.  -1 on forcing the patch release version, and possibly minor version,
> for anything that is not absolutely necessary to do so.  Especially for
> things like Java or Python version, I would hope we just install the latest
> Java 8, Java 11, or Java 17 JDK for the platform the image is built from
> and run under them.  Otherwise we don’t find out until it’s too late when
> some JDK update breaks things.  I know I always tell users to run the
> latest JDK patch release, so we should do the same.
>
> If we want to pin the major version of something, then I have no problem
> there.
>
> -Jeremiah
>
> On Jun 22, 2023 at 5:00:36 PM, Ekaterina Dimitrova <e.dimitr...@gmail.com>
> wrote:
>
> Wouldn’t we recommend people to use the test images the project CI use?
> Thus using in testing the versions we use? I would assume the repeatable CI
> will still expect test images the way we have now?
> (I hope I did not misunderstand the question)
>
> I also share similar worries with Brandon
>
> On Thu, 22 Jun 2023 at 17:48, Brandon Williams <dri...@gmail.com> wrote:
>
> On Thu, Jun 22, 2023 at 4:23 PM Josh McKenzie <jmcken...@apache.org>
> wrote:
> >
> > 2. Anyone concerned about us being specific about versions in
> requirements.txt in the dtest repo?
>
> My concern with this is atrophy; we'll set the version once and when
> finally forced to update, find that a lot of other things must also be
> updated in order to do so.  I think our current approach of only
> setting them on things we require at a certain version like thrift has
> been successful thus far, and I don't think having different versions
> would be very common, but also not really affect repeatability if
> encountered.  You can see what versions are used from the logs though
> and could adjust them to be the same if necessary.
>
>
>

Reply via email to