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]

Reply via email to