jmckenzie-dev commented on code in PR #2554: URL: https://github.com/apache/cassandra/pull/2554#discussion_r1286288695
########## .build/config/jobs.cfg: ########## @@ -0,0 +1,183 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# +# Contains definitions of all ci jobs in the system. Composed into pipelines; see pipelines.cfg +# + +# Job config format is key-value, colon delimited. +# Order does not matter, and subsequent jobs are delimited by either subsequent "job:N" tags or EOF +# All parameters should be processed in sequential order with child parameters executing after parent +# +# job:<name> +# description:<description> +# env:{key=val,key=val,key=val} +# string:Comma-delimited list of key value pairs to export in runtime env for test +# NOTE: env parameters should *all* be evaluated from the root of the hierarchy. Child env params that +# override the parent are acceptable but the totality of env should be a composite of each env: +# from root on down in sequential order. +# cmd:<to_run> +# string:Command used to run the tests resolved by testlist +# testlist:{command} +# string:Command run on system to generate comma-delimited list of all test units to run in target +# Note:This is expected to run in a terminal shell context +# The following parameters indicate the max allowable of a given resource +# memory:N +# integer:in GB +# cpu:N +# integer:logical cpu count +# storage:N +# integer:GB allowable used +# +# A job can inherit the configuration from another job via the following syntax: +# job:base_job +# ... params ... +# job:child +# parent:base_job +# override:new_val +# Any parameter defined in the child job is expected to override the parameters of the parent +# +# Other parameters of interest: +# Test timeouts per suite are in build.xml + +#----------------------------------------------------------------------------- +# Base reference profile; add new parameters here to ensure all jobs have a reasonable default +#----------------------------------------------------------------------------- +job:base + memory:6 + cpu:4 + storage:100 + env:ANT_TEST_OPTS="-Dno-build-test=true -Dtmp.dir=${TMP_DIR}" + +#----------------------------------------------------------------------------- +# JVM based single node tests +#----------------------------------------------------------------------------- +job:unit + parent:base + testlist:find test/unit -name '*Test.java' | sed "s;^test/unit/;;g" | sort + cmd:ant test ${ANT_TEST_OPTS} + +job:cdc + parent:unit + description:Runs test suites with CDC enabled + +job:compression + parent:unit + description:Runs test suites with SSTable compression enabled + +job:test-oa + parent:unit + description:Tests oa sstable format + +job:test-system-keyspace-directory + parent:unit + description:Execute unit tests with a system keyspaces directory configured + +job:test-tries + parent:unit + description:Execute unit tests with trie memtables Review Comment: Hm. It'd certainly make things read more cleanly. The parameterization bit of it and encoding of positional parameters within a config file format concerns me. There's no locality between the bool's here and what they represent, and then you end up with downstream parsers that also need to couple w/that positionality rather than being able to retain a declarative relationship between key/value. -- 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]

