jmckenzie-dev commented on code in PR #2554: URL: https://github.com/apache/cassandra/pull/2554#discussion_r1300520624
########## .build/config/cassandra_ci.yaml: ########## @@ -0,0 +1,355 @@ +# 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 pipelines and jobs (test suites) in Apache Cassandra's CI. + +# CI consists of: +# 1. job: a set of commands to run against a list of files containing tests +# 2. pipeline: a list of jobs that can be run in arbitrary order +# pipelines contain a list of JDK's they have to be run across to certify correctness + +#----------------------------------------------------------------------------- +# IMPLEMENTATION REQUIRED PARAMETERS: +#----------------------------------------------------------------------------- +# We do not provide a mechanism to transform the contents of $TEST_LIST_FILE into $TEST_SPLIT_FILE. Implementations +# must provide that mechanism and set that environment variable or "job->run:" operations will fail, unable to find a test split. +# +# EXPECTED FLOW ON AN AGENT: +# 1. Populate contents of $TEST_LIST_FILE for a given job using "job->test_list_cmd:" piped through "job->TEST_FILTER:" +# 2. Split up $TEST_LIST_FILE using "job->num_split_cmd:" +# 3. Populate $TEST_SPLIT_FILE with a given split (CI implementation specific) +# 3. Execute "job->run:" to run the given $TEST_SPLIT_FILE + +#----------------------------------------------------------------------------- +# SOURCES +#----------------------------------------------------------------------------- +# You can configure the different sources you're using for your CI stack here; we default to HEAD on a given branch +# and you should print out what SHA you checked out and built against for reproducibility in a subsequent investigation. +repos: + cassandra: + url: https://github.com/apache/cassandra + branch: trunk + sha: HEAD + python_dtest: + url: &python_dtest_url https://github.com/apache/cassandra-dtest + branch: &python_dtest_branch trunk + sha: HEAD + cassandra-harry: + url: https://github.com/apache/cassandra-harry + branch: trunk + sha: HEAD + + +#----------------------------------------------------------------------------- +# PIPELINES +#----------------------------------------------------------------------------- +pipelines: + # All jobs in the pre-commit pipeline must run within constraints and pass + # before a commit is merged upstream. Committers are expected to validate + # and sign off on this if using non-reference CI environments. + # + # Failure to do so can lead to commits being reverted. + - name: pre-commit + jdk: + - 11 + jobs: + - unit Review Comment: So in build.xml we have: ``` <property name="test.unit.src" value="${test.dir}/unit"/> ``` And the current .yaml for the job (not yet pushed; will push after local unit testing is done hopefully this week): ``` jobs: - &job_jvm_base name: unit resources: *medium_executor SPLIT_SIZE: 20 env: &env_jvm_base <<: *env_default <<: *env_required ANT_TARGET: testclasslist ANT_TEST_OPTS: -Dno-build-test=true TEST_DIR: "test/unit" # This corresponds to the test.classlistprefix in build.xml, which is effectively the test/{TEST_CLASSLIST_PREFIX}. # While we could theoretically parse it out of TEST_DIR, or have the name overload or something, best to just keep it # decoupled and explicit for now. TEST_CLASSLIST_PREFIX: "unit" TEST_PACKAGE: "org.apache.cassandra" TEST_FILTER: "" # Corresponds to the tag value in build.xml containing the timeout for this test suite TEST_TIMEOUT: test.timeout TEST_SPLITTER: split_jvm_tests # We allow providing arbitrary arguments for the run: stage command RUN_ARGUMENTS: "" # These reference methods found in ci_functions.sh and other .sh files in .build/*.sh. None take arguments and all # rely on the environment as setup in either the execution environment, env:, or env_overrides: before: - setup_environment - pretest_setup - build_cassandra run: - run_jvm_tests ``` I strongly think "unit" is the right name for this given the test directory and classlist prefix from build.xml -- 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]

