It seemed like a lot of other changes were happening around the CircleCI config, so I was holding off on the parameterization. I would be happy to work with Claude for the changes if that’s already in progress, though.
Cheers, Derek From: "Claude Warren, Jr via dev" <dev@cassandra.apache.org> Reply-To: "dev@cassandra.apache.org" <dev@cassandra.apache.org>, "Claude Warren, Jr" <claude.war...@aiven.io> Date: Friday, November 11, 2022 at 1:06 AM To: "dev@cassandra.apache.org" <dev@cassandra.apache.org> Subject: RE: [EXTERNAL]A proposal for refactoring the CircleCI config CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you can confirm the sender and know the content is safe. I have been working on https://issues.apache.org/jira/projects/CASSANDRA/issues/CASSANDRA-18012 which modifies the generate.sh script for the circleci configurations. Perhaps all of this should be rolled into one change? On Fri, Nov 11, 2022 at 3:47 AM Ekaterina Dimitrova <e.dimitr...@gmail.com<mailto:e.dimitr...@gmail.com>> wrote: Hey Derek, Thanks for looking into this. As we spoke in Slack, probably an easy way to show people how things will look like is to have a prototype with some minimal config. Could be even not Cassandra one but something that will show how things will look like and improve the current model. Thanks, Ekaterina On Wed, 2 Nov 2022 at 17:08, David Capwell <dcapw...@apple.com<mailto:dcapw...@apple.com>> wrote: Here is the ticket I was talking about https://issues.apache.org/jira/browse/CASSANDRA-17600 On Nov 2, 2022, at 1:29 PM, Derek Chen-Becker <de...@chen-becker.org<mailto:de...@chen-becker.org>> wrote: For the parallel param logic, sounds fine to me. Not sure if this would also work for resource_type, but I still argue that xlarge isn’t needed in 90% of the cases its used… so fixing this may be better than param there…. So yes, I would be cool with this change if it basically removes the patching logic… I had another JIRA to have a python script rewrite the YAML, but this method may solve in a cleaner way. Almost any part of a CircleCI definition can be replaced with a parameter, so basically we want config-2_1.yml to be a template, and we plug different values in as desired. Would you mind sending a link to that JIRA so I can understand that use case? About matrix jobs; I don’t know them in circle but have used in other places, this sounds good to me. I would also enhance to argue that JVM is just 1 config and we sadly have many more: JVM: [8, 11, 17] VNODE: [true, false] CDC: [true, false] COMPRESSION: [true, false] MEMTABLE: [skiplist, shardedskiplist, trie] My understanding is that we could parameterize all of these such that we could use a matrix as long as all combinations are valid. Let me get parameterization of basic configuration reviewed first, and then we can take a look at how to matricize things. Cheers, Derek -- +---------------------------------------------------------------+ | Derek Chen-Becker | | GPG Key available at https://keybase.io/dchenbecker and | | https://pgp.mit.edu/pks/lookup?search=derek%40chen-becker.org | | Fngrprnt: EB8A 6480 F0A3 C8EB C1E7 7F42 AFC5 AFEE 96E4 6ACC | +---------------------------------------------------------------+