jmckenzie-dev commented on PR #2554:
URL: https://github.com/apache/cassandra/pull/2554#issuecomment-1672111777
Ok @dcapwell, I've refactored things quite a bit, in some ways the way you
were recommending, in other ways diverging. Commit w/changes to `.yaml` pushed
up.
Not looking for fine-toothed comb pass yet; if you have 15 minutes to read
through it and see if anything I've done now triggers an immune response, that
should be enough for me to start digging into rewriting the config parsing
scripts to use `yq` and pulling config from this file.
Instead of defining a "runtime", I went ahead and just aliased out some of
the resource, timeout, and repeat params for re-use and convenience since
enough subtle things vary that the notion of a "runtime" doesn't actually add
much value in retrospect. Especially if most jobs are cleanly inheriting those
values from the base anchor.
```
# Downstream test orchestration needs to use <= the following values when
running tests.
small_executor: &small_executor {cpu: 4, memory: 1g, storage: 5g}
medium_executor: &medium_executor {cpu: 4, memory: 6g, storage: 25g}
large_executor: &large_executor {cpu: 4, memory: 16g, storage: 50g}
# Be opinionated and don't make people do ms <-> min conversions
timeout_1h: &16h_in_ms 57600000
timeout_15m: &15m_in_ms 900000
timeout_10m: &10m_in_ms 600000
timeout_8m: &8m_in_ms 480000
# Be opinionated; discourage bespoke repeat amounts on suites where we can.
repeat_default: &repeat_default 500
repeat_less: &repeat_less 100
repeat_tiny: &repeat_tiny 25
```
Further, I'm in favor of leaving out the image: * that you alluded to above.
I don't think we should mandate OS / docker image / etc level constraints in
this config file. If our requirements for pre-commit are:
1. Certain set of jobs
2. With certain resource constraints
3. On a specific JDK (oldest supported)
4. With a specific software environment (ant, JDK, python, env vars, etc)
But we _aren't_ requiring a specific distribution, docker image, or all
JDK's, I don't think including those details in here adds value quite yet. The
canonical CI will be on the ASF CI env where the OS, docker images, etc. are
all very clearly defined, bespoke, and our 1-off source of truth. While we
_could_ specify them in this file and update scripts and jenkins env to derive
from here, I'm not sweating what form that takes day one (since it'd require
unsticking some of the stuff in `.build/docker/*` as well)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]