jmckenzie-dev commented on code in PR #2554:
URL: https://github.com/apache/cassandra/pull/2554#discussion_r1290431495


##########
.build/config/cassandra_ci.yaml:
##########
@@ -0,0 +1,307 @@
+# 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
+
+#-----------------------------------------------------------------------------
+# 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
+      - jvm-dtest
+      - python-dtest
+      - dtest
+      - dtest-large
+      - dtest-upgrade
+      - dtest-upgrade-large
+      - long-test
+      - cqlsh-test
+
+  # The post-commit pipeline is a larger set of tests that include all 
supported JDKs.
+  # We expect different JDKs and variations on test suites to fail very rarely.
+  #
+  # Failures in these tests will be made visible on JIRA tickets shortly after
+  # test run on reference CI and committers are expected to prioritize
+  # rectifying any failures introduced by their work.
+  - name: post-commit
+    jdk:
+      - 11
+      - 17
+    jobs:
+      - unit
+      - unit-cdc
+      - compression
+      - test-oa
+      - test-system-keyspace-directory
+      - test-tries
+      - jvm-dtest
+      - jvm-dtest-upgrade
+      - dtest
+      - dtest-novnode
+      - dtest-offheap
+      - dtest-large
+      - dtest-large-novnode
+      - dtest-upgrade
+      - dtest-upgrade-large
+      - long-test
+      - cqlsh-test
+
+  # These are longer-term, much more rarely changing pieces of infrastructure 
or
+  # testing. We expect these to fail even more rarely than post-commit.
+  - name: nightly
+    jdk:
+      - 11
+      - 17
+    jobs:
+      - stress-test
+      - fqltool-test
+      - test-burn
+
+#-----------------------------------------------------------------------------
+# RESOURCE LIMITS, ALIASES, AND DEFAULT ENV VARS
+#-----------------------------------------------------------------------------
+# 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
+
+# There are some general environment variables devs will often need to 
override for parameterized runs.
+default_env_vars: &default_env_vars
+  ANT_HOME: /usr/share/ant

Review Comment:
   I split out to a required_env_vars and default_env_vars and promoted a bunch 
of the path env stuff to the latter and documented them. Should help make it 
incredibly clear which env vars are optional and which are required to be in 
compliance.



-- 
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