Commit Graph

79 Commits

Author SHA1 Message Date
arvindksi274-ksolves 464b2e54f4
Support Python 3.12 and 3.13 in cqlsh
patch by Arvind Kandpal; reviewed by Stefan Miklosovic, Michael Semb Wever for CASSANDRA-20997
2026-07-03 11:02:14 +02:00
Mick Semb Wever a1352e9be9
Implement splits for microbench test type
Also distinguish benches by jdk version and host arch.

 patch by Mick Semb Wever; reviewed by Dmitry Konstantinov for CASSANDRA-21242
2026-06-14 16:49:13 +02:00
mck 26bdaa5ae5
Fix ci-cassandra.a.o agent workspaces for Cassandra-5.0 (and above) not being cleaned
The build+test cells run in `ws("workspace/${JOB_NAME}/${BUILD_NUMBER}/${cell.step}/${cell.arch}/jdk-${cell.jdk}/python-${cell.python}")`, so every build writes a new per-build directory.
The `cleanWs()` only cleans the current cell's leaf, and it sat as the last statement in the `ws` block — so any cell hitting error() (failed/timed-out/aborted) exits before reaching it and leaves the full cell's workspace build behind.

 patch by Mick Semb Wever; reviewed by Dmitry Konstantinov for CASSANDRA-20436
2026-06-07 11:48:17 +02:00
mck b78f654fff
Preload dependencies in build docker images to reduce downloading at build/test/ci runtime
Additional fixes
 - upgrade ubuntu-test.docker to ubuntu 22.04 (and some small fixes brought forward from CASSANDRA-20997)
 - (.jenkins/k8s) changes gke's small node pool from n2-highcpu-8 to e2-highcpu-8 (gke's own pod resources reqs increased)
 - (.jenkins/k8s) limit one agent pod per node (when jenkins is deployed in k8s using our helm)
 - (.jenkins/k8s) add the cassandra-6.0 job
 - pass maven.repo.local sys prop, if set, into accord's gradle build
 - check and fail on maven dependencies checksums when downloading
 - when on-the-fly building docker images add `--load` (podman compatbility)
 - newer python versions can use venv instead of virtualenv
 - rename ubuntu2004_test.docker to ubuntu-test.docker (in 5.0)
 - (Jenkinsfile) fix retries (which was no longer working when agents/nodes died, since CASSANDRA-20833)
 - (Jenkinsfile) @NonCPS where (now) needed
 - (Jenkinsfile) fix default value for the branch parameter (after a new helm deploy)
 - (.build/run-ci) fix missing parameters on jobs also at helm deploy time
 - (.build/run-ci) .git suffixes on repo urls are optional

 patch by Mick Semb Wever; reviewed by Dmitry Konstantinov, Stefan Miklosovic for CASSANDRA-21403
2026-06-05 21:01:30 +02:00
Dmitry Konstantinov 8303257297 Improve diagnostics for JUnit tests which crashed or timed out on Jenkins
Add test container memory events printing to check if Linux OOM killer was active
Fix thread dump printing on junit test timeout
Process.pid() API is available since JDK9

patch by Dmitry Konstantinov; reviewed by Michael Semb Wever for CASSANDRA-21172
2026-02-18 22:53:39 +00:00
Mick Semb Wever b3ee9713f8
Implement microbench test target type
Add microbench-test target for quick test run
 Unify declaration and add assertions on target types
 Fix dirname usages for macos
 Parameter for docker_timeout
 Add more jmh class ignores (that are broken)
 Add disableResume() and better host debug to Jenkinsfile

 patch by Mick Semb Wever; reviewed by Dmitry Konstantinov for CASSANDRA-18873
2026-01-27 11:31:17 +01:00
mck 5374ff50aa
Improve jenkinsfile parse perf, and fix parallel xz test result file compressing
Only read the supported and default jdks once.  Also add debug when starting the pipeline on the parameters that will be used for building and testing.

 ref: https://the-asf.slack.com/archives/CK23JSY2K/p1763714160975359

 patch by Mick Semb Wever; reviewed by Sam Tunnicliffe for CASSANDRA-21044
2025-11-30 21:43:47 +01:00
Mick Semb Wever 965eb1d223
ninjafix – docker buildx build instructions in .jenkins/k8s/agent-build.docker 2025-11-12 16:36:09 +01:00
Richa Mishra 05f0e513e8
K8s immutable provisioning of ci-cassandra.apache.org jenkins instances
.build/run-ci is a a python script used to create and interact with k8s provisioned ci-cassandra.apache.org clones
See .build/run-ci.d/README.md for docs on usage.

.jenkins/k8s/ contains the k8s jenkins helm chart, JSaC configuration, and docker image for provisioning.

.build/run-ci.d/  contains python requirements and tests for .build/run-ci

 patch by Richa Mishra, Nishant Barola, Aleksandr Volochnev, Mick Semb Wever; reviewed by Richa Mishra, Nishant Barola, Aleksandr Volochnev, Brandon Hsieh, Mick Semb Wever, Brandon Williams for CASSANDRA-18145

Co-authored-by: Richa Mishra <richa.mishra@infracloud.io>
Co-authored-by: Nishant Barola <nishant.barola@infracloud.io>
Co-authored-by: Aleksandr Volochnev <a.volochnev@gmail.com>
Co-authored-by: Mick Semb Wever <mck@apache.org>
2025-08-27 23:33:16 +02:00
Dmitry Konstantinov 82880b8be4 Add CauseOfInterruption printing if a test split execution is aborted
Patch by Dmitry Konstantinov; reviewed by Michael Semb Wever for CASSANDRA-20833
2025-08-13 20:11:15 +01:00
mck f33c3450d4
Only prefetch docker image needed in jenkinsfile build stages
patch by Mick Semb Wever; reviewed by Brandon Williams for CASSANDRA-20537
2025-04-08 17:28:22 +02:00
maoling e16f30c587
Improve Go download when building source code
patch by Ling Mao; reviewed by Stefan Miklosovic, Michael Semb Wever for CASSANDRA-20422

Co-authored-by: Stefan Miklosovic <smiklosovic@apache.org>
2025-03-17 19:06:07 +01:00
Mick Semb Wever ba16a082f3
Adjust 5.0 and trunk Jenkinsfile's splits configuration
More splits for dtest-upgrades and all variants of the (unit) "test" type.
Less splits for long-test, dtest-larges, and jvm-dtest-upgrade.
And some debug on xml test files produced in each split.

 patch by Mick Semb Wever; reviewed by Brandon Williams, Maxim Muzafarov, Dmitry Konstantinov for CASSANDRA-20311
2025-02-18 12:22:54 +01:00
mck 3cdd540bfe
Timing info for each test split in Jenkinsfile
patch by Mick Semb Wever; reviewed by Brandon Williams for CASSANDRA-20157
2025-01-05 19:05:48 +01:00
Bereng 70ec86c576
Repeatable test runs, and named command line options, for test scripts
Each test type has a -repeat suffixed companion, used with the `-e REPEATED_TESTS_COUNT` option.

 patch by Berenguer Blasi; reviewed by Mick Semb Wever, Brandon Williams for CASSANDRA-18942
2024-12-09 15:52:23 +11:00
Mick Semb Wever 2fb578263c
Exclude intensive dtests when not running dtest-upgrade*-large
Also add dtest-large-latest

 patch by Mick Semb Wever; reviewed by Brandon Williams for CASSANDRA-19963
2024-09-30 22:47:43 +03:00
mck f3e7413159
Reduce timeouts in upgrade_through_versions_test due to ccm downloads/building
In docker we want to use the existing populated ~/.ccm/repositories but don't want to write to the container's filesystem (it can leak fd).  So we set CCM_CONFIG_DIR to be in the run-python-dtest.XXXXXX tmpdir.  Previously this was done in the base (non-docker) script, but this is only needed in docker (and outside of docker we want the normal ~/.ccm usage)

 patch by Mick Semb Wever; reviewed by Brandon Williams for CASSANDRA-19813
2024-08-07 11:28:24 +02:00
Mick Semb Wever 461b8c42d2
Remove sid source from debian, was only needed for jdk8
- Added debug in testing
 - Propagate the $DEBUG env from docker to test scripts
 - Be verbose when a pipeline errors that not all tests would have been run
 - add timeout to each cell stage (scripts on a node can hang and the only alternative was to abort the whole pipeline)

 patch by Mick Semb Wever; reviewed by Ekaterina Dimitrova, Brandon Williams for CASSANDRA-19708
2024-07-05 18:25:16 +02:00
Mick Semb Wever 3c85def5cc
Honour parameter defaults between builds in Jenkinsfile
Also
– increase splits for jvm-dtests, container size and docker limits for simulator-dtest
– print exit status in .build/docker/run-tests.sh and  .build/docker/_docker_init_tests.sh
– add a summary list of test failures in ci_summary.html
– in ubuntu2004_test.docker make sure /home/cassandra exists and has correct perms (from Marcuse)
– when on ci-cassandra, replace use of copyArtifacts in Jenkinsfile generateTestReports() with manual wget of test files (copyArtifacts is notoriously slow, >4hrs in this case)
– copy ci_summary.html and results_details.tar.xz to nightlies
– capture generateTestReports logs
– stream xz where possible, instead of xz compressing afterwards
– fix ant version in centos7-build.docker
– remove docker login (was meangingless, if credentials exist then docker is logged in)
– prefetch docker images from jfrog (to reduce dockerhub pull rate limits), relates to CASSANDRA-18931
– use scripts from cassandra-builds to clean and report on agents, relates to CASSANDRA-18130
– use groovy elvis operators to avoid NPEs/failures on blank param values
– parallel jfrog pulls and cache it in jfrog too
– pin alpine docker image version
– don't stash .git (was causing AccessDeniedException on some unstash), needed fix so deb/rpm packaging worked on not-git work directories
– durabilityHint needs PERFORMANCE_OPTIMIZED, controller becomes scale bottleneck and breaks without it

 patch by Mick Semb Wever; reviewed by Brandon Williams for CASSANDRA-19558
2024-04-26 11:36:32 +02:00
Mick Semb Wever f7c11bdcd4
Standalone Jenkinsfile
– ensure test file paths, and their suite names are unique (the latter was broken for cqlshlib and python dtests)
 – removal of properties and system-out in test xml happens in CassandraXMLJUnitResultFormatter
 – new jenkins agent labels and introduce agents sizes
 - ci_summary.html generation script, ref work submitted in apache/cassandra-builds#99
 – fix for stress-test and fqltool-test running on small
 - ant generate-test-report is limited to only running on individual test types (ci_parser.py provides ci_summary.html for the overview now)
 - each cell has a single retry, and the retry will happen on a different agent
 - on ci-cassandra the summary stage happens on the builtin, bc copyArtifacts on 15k+ files takes many hours otherwise
 - test-burn only needs two splits
 - dependency-check is disabled from the lint target until CASSANDRA-19213
 - add $DEBUG env var to in-tree scripts, turns on bash debug
 - fix FBUtilities' handling of gcp cos_containerd (kernel version comes with a trailing '+' character)

 patch by Aleks Volochnev, Mick Semb Wever; reviewed by Aleksandr Volochnev, Josh McKenzie, Maxim Muzafarov, Stefan Miklosovic for CASSANDRA-18594

Co-authored-by: Aleksandr Volochnev <a.volochnev@gmail.com>
Co-authored-by: Mick Semb Wever <mck@apache.org>
Co-authored-by: Josh McKenzie <jmckenzie@apache.org>
Co-authored-by: Artem Chekunov <artem.v.chekunov@gmail.com>
2024-04-04 11:56:36 +02:00
Branimir Lambov 06ed1afc34 Add an optimized default configuration to tests and make it available for new users
This patch adds a new configuration file, cassandra_latest.yaml, which changes
some of the settings to use new features we usually recommend to users,
including:
- Big Trie-Indexed SSTables
- Trie memtables
- Unified Compaction Strategy
- Storage Attached Index
- Off-heap objects memtables
- Direct-write commit log
- No storage compatibility

These changes are applied in new test targets for unit, in-jvm and python dtests that are
run pre-commit. When changes are made to the new config file, python dtest will use it
directly, but unit and in-jvm dtests require updates, respectively, to latest_diff.yaml
and InstanceConfig.java.

patch by Branimir Lambov; reviewed by Berenguer Blasi for CASSANDRA-18753
2024-03-07 11:08:44 +02:00
Mick Semb Wever f0655159e6
Add to jenkins pipeline: test-oa, test-system-keyspace-directory, test-trie, jvm-dtest-novnode, jvm-dtest-upgrade-novnode simulator-dtest, dtest-large-novnode, dtest-upgrade-large, dtest-upgrade-novnode, dtest-upgrade-novnode-large.
patch by Mick Semb Wever; reviewed by Berenguer Blasi, Brandon Williams for CASSANDRA-17989, CASSANDRA-18008, CASSANDRA-17145, CASSANDRA-18003
2023-11-14 21:56:57 -05:00
Mick Semb Wever aa2494b30b
Merge branch 'cassandra-3.11' into cassandra-4.0
* cassandra-3.11:
  Missing license info and headers
2023-08-31 22:39:56 +02:00
Mick Semb Wever 14e89fc3c7
Merge branch 'cassandra-3.0' into cassandra-3.11
* cassandra-3.0:
  Missing license info and headers
2023-08-31 22:36:33 +02:00
Mick Semb Wever ce49e775f7
Missing license info and headers
patch by Mick Semb Wever; reviewed by Brandon Williams for CASSANDRA-18807
2023-08-31 22:30:42 +02:00
Mick Semb Wever 15ecaaed43
Merge branch 'cassandra-3.11' into cassandra-4.0 2022-06-19 16:40:36 +02:00
Mick Semb Wever 51fb85a9db
Merge branch 'cassandra-3.0' into cassandra-3.11 2022-06-19 16:39:32 +02:00
Mick Semb Wever 87bdbb7182
Merge branch 'cassandra-2.2' into cassandra-3.0 2022-06-19 16:38:43 +02:00
Mick Semb Wever e163146fd9
Fix retries for stage builds that do not throw failures
patch by Mick Semb Wever; reviewed by Brandon Williams for CASSANDRA-17664
2022-06-19 16:34:43 +02:00
Mick Semb Wever 36b73d70fb
Merge branch 'cassandra-3.11' into cassandra-4.0 2022-05-28 13:55:26 +02:00
Mick Semb Wever bb0e63fc38
Merge branch 'cassandra-3.0' into cassandra-3.11 2022-05-28 13:54:26 +02:00
Mick Semb Wever 2b533b28c2
Merge branch 'cassandra-2.2' into cassandra-3.0 2022-05-28 13:53:41 +02:00
Mick Semb Wever 136c8c0f65
In jenkins retry each stage build in the pipeline
attempts to alleviate the false-negatives from CI infrastructure faults (disks, network, etc)

 patch by Mick Semb Wever; reviewed by Brandon Williams for CASSANDRA-17664
2022-05-28 13:34:00 +02:00
Brandon Williams c586cca2b3 ninja fix typo in Jenkinsfile 2022-02-16 17:27:24 -06:00
Mick Semb Wever 902e05603b
Merge branch 'cassandra-3.11' into trunk 2021-02-10 12:55:21 +01:00
Mick Semb Wever 9c5b626f3e
Merge branch 'cassandra-3.0' into cassandra-3.11 2021-02-10 12:53:11 +01:00
Mick Semb Wever 49a0f0111c
Add dtest-upgrade and dtest-large-novnode to Jenkins pipeline
patch by Mick Semb Wever; reviewed by Jacek Lewandowski,Tomek Łasica for CASSANDRA-16377
2021-02-10 12:50:07 +01:00
Mick Semb Wever 7cb3adc3bf
Merge branch 'cassandra-3.11' into trunk 2021-02-08 12:11:17 +01:00
Mick Semb Wever aa92e88688
Merge branch 'cassandra-3.0' into cassandra-3.11 2021-02-08 12:07:46 +01:00
Mick Semb Wever 19b3945297
Merge branch 'cassandra-2.2' into cassandra-3.0 2021-02-08 12:06:47 +01:00
Mick Semb Wever 9fa2c28dc2
Jenkins builds to provide link to nightlies archive, and remove the Jenkins plaintext reports
patch by Mick Semb Wever; reviewed by Tomek Łasica for CASSANDRA-16401
2021-02-08 12:05:14 +01:00
Mick Semb Wever 6ca34f8138
Merge branch 'cassandra-3.11' into trunk 2020-10-27 10:50:57 +01:00
Mick Semb Wever 06e4e81d87
Merge branch 'cassandra-3.0' into cassandra-3.11 2020-10-27 10:49:15 +01:00
Mick Semb Wever f139c6a6c1
Merge branch 'cassandra-2.2' into cassandra-3.0 2020-10-27 10:47:56 +01:00
Mick Semb Wever 5d26980777
Rename master branch to trunk in cassandra-dtest
patch by Mick Semb Wever; reviewed by Brandon Williams for  CASSANDRA-16166
2020-10-27 10:39:55 +01:00
Mick Semb Wever 936a81bf34
Merge branch 'cassandra-3.11' into trunk 2020-09-30 21:31:00 +02:00
Mick Semb Wever f5d5e72f61
Merge branch 'cassandra-3.0' into cassandra-3.11 2020-09-30 21:12:08 +02:00
Mick Semb Wever 9ee74c9dc0
Merge branch 'cassandra-2.2' into cassandra-3.0 2020-09-30 21:08:26 +02:00
Mick Semb Wever aaef142f48
In Jenkins propagate FAILURE from stages to pipeline, ssh artefacts to nightlies, and move ant's junitreport generation to a separate target "generate-test-report"
patch by Mick Semb Wever; reviewed by Berenguer Blasi for CASSANDRA-16128
2020-09-30 21:05:47 +02:00
Mick Semb Wever 54ebb19720
Merge branch 'cassandra-3.11' into trunk 2020-08-08 10:20:14 +02:00