From ab9fcd7d105d199efb1cb9db3f5702b5ba0461cd Mon Sep 17 00:00:00 2001 From: David Capwell Date: Thu, 10 Dec 2020 11:10:32 -0800 Subject: [PATCH] Circle CI python upgrade test build includes non-upgrade tests patch by David Capwell; reviewed by Brandon Williams for CASSANDRA-16323 --- .circleci/config-2_1.yml | 5 ++--- .circleci/config.yml | 8 ++++---- .circleci/config.yml.HIGHRES | 8 ++++---- .circleci/config.yml.LOWRES | 8 ++++---- .circleci/config.yml.MIDRES | 8 ++++---- .circleci/generate.sh | 3 +++ 6 files changed, 21 insertions(+), 19 deletions(-) diff --git a/.circleci/config-2_1.yml b/.circleci/config-2_1.yml index 9815d8628e..be9e96cc2a 100644 --- a/.circleci/config-2_1.yml +++ b/.circleci/config-2_1.yml @@ -522,13 +522,12 @@ jobs: - create_venv - create_dtest_containers: file_tag: j8_upgradetests_without_vnodes - run_dtests_extra_args: '--execute-upgrade-tests' + run_dtests_extra_args: '--execute-upgrade-tests-only' extra_env_args: 'RUN_STATIC_UPGRADE_MATRIX=true' - tests_filter_pattern: '^upgrade_tests' - run_dtests: file_tag: j8_upgradetests_without_vnodes extra_env_args: 'RUN_STATIC_UPGRADE_MATRIX=true' - pytest_extra_args: '--execute-upgrade-tests' + pytest_extra_args: '--execute-upgrade-tests-only' j8_cqlsh-dtests-py2-with-vnodes: <<: *j8_par_executor diff --git a/.circleci/config.yml b/.circleci/config.yml index e08390a931..94fe9f521c 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -985,11 +985,11 @@ jobs: fi echo "***Collected DTests (j8_upgradetests_without_vnodes)***" - set -eo pipefail && ./run_dtests.py --execute-upgrade-tests --dtest-print-tests-only --dtest-print-tests-output=/tmp/all_dtest_tests_j8_upgradetests_without_vnodes_raw --cassandra-dir=../cassandra - if [ -z '^upgrade_tests' ]; then + set -eo pipefail && ./run_dtests.py --execute-upgrade-tests-only --dtest-print-tests-only --dtest-print-tests-output=/tmp/all_dtest_tests_j8_upgradetests_without_vnodes_raw --cassandra-dir=../cassandra + if [ -z '' ]; then mv /tmp/all_dtest_tests_j8_upgradetests_without_vnodes_raw /tmp/all_dtest_tests_j8_upgradetests_without_vnodes else - grep -e '^upgrade_tests' /tmp/all_dtest_tests_j8_upgradetests_without_vnodes_raw > /tmp/all_dtest_tests_j8_upgradetests_without_vnodes || { echo "Filter did not match any tests! Exiting build."; exit 0; } + grep -e '' /tmp/all_dtest_tests_j8_upgradetests_without_vnodes_raw > /tmp/all_dtest_tests_j8_upgradetests_without_vnodes || { echo "Filter did not match any tests! Exiting build."; exit 0; } fi set -eo pipefail && circleci tests split --split-by=timings --timings-type=classname /tmp/all_dtest_tests_j8_upgradetests_without_vnodes > /tmp/split_dtest_tests_j8_upgradetests_without_vnodes.txt cat /tmp/split_dtest_tests_j8_upgradetests_without_vnodes.txt | tr '\n' ' ' > /tmp/split_dtest_tests_j8_upgradetests_without_vnodes_final.txt @@ -1016,7 +1016,7 @@ jobs: mkdir -p /tmp/results/dtests # we need the "set -o pipefail" here so that the exit code that circleci will actually use is from pytest and not the exit code from tee export SPLIT_TESTS=`cat /tmp/split_dtest_tests_j8_upgradetests_without_vnodes_final.txt` - set -o pipefail && cd ~/cassandra-dtest && pytest --execute-upgrade-tests --log-cli-level=DEBUG --junit-xml=/tmp/results/dtests/pytest_result_j8_upgradetests_without_vnodes.xml -s --cassandra-dir=/home/cassandra/cassandra --keep-test-dir $SPLIT_TESTS 2>&1 | tee /tmp/dtest/stdout.txt + set -o pipefail && cd ~/cassandra-dtest && pytest --execute-upgrade-tests-only --log-cli-level=DEBUG --junit-xml=/tmp/results/dtests/pytest_result_j8_upgradetests_without_vnodes.xml -s --cassandra-dir=/home/cassandra/cassandra --keep-test-dir $SPLIT_TESTS 2>&1 | tee /tmp/dtest/stdout.txt - store_test_results: path: /tmp/results - store_artifacts: diff --git a/.circleci/config.yml.HIGHRES b/.circleci/config.yml.HIGHRES index 6b29ee6b41..4bd37d46a8 100644 --- a/.circleci/config.yml.HIGHRES +++ b/.circleci/config.yml.HIGHRES @@ -985,11 +985,11 @@ jobs: fi echo "***Collected DTests (j8_upgradetests_without_vnodes)***" - set -eo pipefail && ./run_dtests.py --execute-upgrade-tests --dtest-print-tests-only --dtest-print-tests-output=/tmp/all_dtest_tests_j8_upgradetests_without_vnodes_raw --cassandra-dir=../cassandra - if [ -z '^upgrade_tests' ]; then + set -eo pipefail && ./run_dtests.py --execute-upgrade-tests-only --dtest-print-tests-only --dtest-print-tests-output=/tmp/all_dtest_tests_j8_upgradetests_without_vnodes_raw --cassandra-dir=../cassandra + if [ -z '' ]; then mv /tmp/all_dtest_tests_j8_upgradetests_without_vnodes_raw /tmp/all_dtest_tests_j8_upgradetests_without_vnodes else - grep -e '^upgrade_tests' /tmp/all_dtest_tests_j8_upgradetests_without_vnodes_raw > /tmp/all_dtest_tests_j8_upgradetests_without_vnodes || { echo "Filter did not match any tests! Exiting build."; exit 0; } + grep -e '' /tmp/all_dtest_tests_j8_upgradetests_without_vnodes_raw > /tmp/all_dtest_tests_j8_upgradetests_without_vnodes || { echo "Filter did not match any tests! Exiting build."; exit 0; } fi set -eo pipefail && circleci tests split --split-by=timings --timings-type=classname /tmp/all_dtest_tests_j8_upgradetests_without_vnodes > /tmp/split_dtest_tests_j8_upgradetests_without_vnodes.txt cat /tmp/split_dtest_tests_j8_upgradetests_without_vnodes.txt | tr '\n' ' ' > /tmp/split_dtest_tests_j8_upgradetests_without_vnodes_final.txt @@ -1016,7 +1016,7 @@ jobs: mkdir -p /tmp/results/dtests # we need the "set -o pipefail" here so that the exit code that circleci will actually use is from pytest and not the exit code from tee export SPLIT_TESTS=`cat /tmp/split_dtest_tests_j8_upgradetests_without_vnodes_final.txt` - set -o pipefail && cd ~/cassandra-dtest && pytest --execute-upgrade-tests --log-cli-level=DEBUG --junit-xml=/tmp/results/dtests/pytest_result_j8_upgradetests_without_vnodes.xml -s --cassandra-dir=/home/cassandra/cassandra --keep-test-dir $SPLIT_TESTS 2>&1 | tee /tmp/dtest/stdout.txt + set -o pipefail && cd ~/cassandra-dtest && pytest --execute-upgrade-tests-only --log-cli-level=DEBUG --junit-xml=/tmp/results/dtests/pytest_result_j8_upgradetests_without_vnodes.xml -s --cassandra-dir=/home/cassandra/cassandra --keep-test-dir $SPLIT_TESTS 2>&1 | tee /tmp/dtest/stdout.txt - store_test_results: path: /tmp/results - store_artifacts: diff --git a/.circleci/config.yml.LOWRES b/.circleci/config.yml.LOWRES index e08390a931..94fe9f521c 100644 --- a/.circleci/config.yml.LOWRES +++ b/.circleci/config.yml.LOWRES @@ -985,11 +985,11 @@ jobs: fi echo "***Collected DTests (j8_upgradetests_without_vnodes)***" - set -eo pipefail && ./run_dtests.py --execute-upgrade-tests --dtest-print-tests-only --dtest-print-tests-output=/tmp/all_dtest_tests_j8_upgradetests_without_vnodes_raw --cassandra-dir=../cassandra - if [ -z '^upgrade_tests' ]; then + set -eo pipefail && ./run_dtests.py --execute-upgrade-tests-only --dtest-print-tests-only --dtest-print-tests-output=/tmp/all_dtest_tests_j8_upgradetests_without_vnodes_raw --cassandra-dir=../cassandra + if [ -z '' ]; then mv /tmp/all_dtest_tests_j8_upgradetests_without_vnodes_raw /tmp/all_dtest_tests_j8_upgradetests_without_vnodes else - grep -e '^upgrade_tests' /tmp/all_dtest_tests_j8_upgradetests_without_vnodes_raw > /tmp/all_dtest_tests_j8_upgradetests_without_vnodes || { echo "Filter did not match any tests! Exiting build."; exit 0; } + grep -e '' /tmp/all_dtest_tests_j8_upgradetests_without_vnodes_raw > /tmp/all_dtest_tests_j8_upgradetests_without_vnodes || { echo "Filter did not match any tests! Exiting build."; exit 0; } fi set -eo pipefail && circleci tests split --split-by=timings --timings-type=classname /tmp/all_dtest_tests_j8_upgradetests_without_vnodes > /tmp/split_dtest_tests_j8_upgradetests_without_vnodes.txt cat /tmp/split_dtest_tests_j8_upgradetests_without_vnodes.txt | tr '\n' ' ' > /tmp/split_dtest_tests_j8_upgradetests_without_vnodes_final.txt @@ -1016,7 +1016,7 @@ jobs: mkdir -p /tmp/results/dtests # we need the "set -o pipefail" here so that the exit code that circleci will actually use is from pytest and not the exit code from tee export SPLIT_TESTS=`cat /tmp/split_dtest_tests_j8_upgradetests_without_vnodes_final.txt` - set -o pipefail && cd ~/cassandra-dtest && pytest --execute-upgrade-tests --log-cli-level=DEBUG --junit-xml=/tmp/results/dtests/pytest_result_j8_upgradetests_without_vnodes.xml -s --cassandra-dir=/home/cassandra/cassandra --keep-test-dir $SPLIT_TESTS 2>&1 | tee /tmp/dtest/stdout.txt + set -o pipefail && cd ~/cassandra-dtest && pytest --execute-upgrade-tests-only --log-cli-level=DEBUG --junit-xml=/tmp/results/dtests/pytest_result_j8_upgradetests_without_vnodes.xml -s --cassandra-dir=/home/cassandra/cassandra --keep-test-dir $SPLIT_TESTS 2>&1 | tee /tmp/dtest/stdout.txt - store_test_results: path: /tmp/results - store_artifacts: diff --git a/.circleci/config.yml.MIDRES b/.circleci/config.yml.MIDRES index 316668cf55..330e669bee 100644 --- a/.circleci/config.yml.MIDRES +++ b/.circleci/config.yml.MIDRES @@ -985,11 +985,11 @@ jobs: fi echo "***Collected DTests (j8_upgradetests_without_vnodes)***" - set -eo pipefail && ./run_dtests.py --execute-upgrade-tests --dtest-print-tests-only --dtest-print-tests-output=/tmp/all_dtest_tests_j8_upgradetests_without_vnodes_raw --cassandra-dir=../cassandra - if [ -z '^upgrade_tests' ]; then + set -eo pipefail && ./run_dtests.py --execute-upgrade-tests-only --dtest-print-tests-only --dtest-print-tests-output=/tmp/all_dtest_tests_j8_upgradetests_without_vnodes_raw --cassandra-dir=../cassandra + if [ -z '' ]; then mv /tmp/all_dtest_tests_j8_upgradetests_without_vnodes_raw /tmp/all_dtest_tests_j8_upgradetests_without_vnodes else - grep -e '^upgrade_tests' /tmp/all_dtest_tests_j8_upgradetests_without_vnodes_raw > /tmp/all_dtest_tests_j8_upgradetests_without_vnodes || { echo "Filter did not match any tests! Exiting build."; exit 0; } + grep -e '' /tmp/all_dtest_tests_j8_upgradetests_without_vnodes_raw > /tmp/all_dtest_tests_j8_upgradetests_without_vnodes || { echo "Filter did not match any tests! Exiting build."; exit 0; } fi set -eo pipefail && circleci tests split --split-by=timings --timings-type=classname /tmp/all_dtest_tests_j8_upgradetests_without_vnodes > /tmp/split_dtest_tests_j8_upgradetests_without_vnodes.txt cat /tmp/split_dtest_tests_j8_upgradetests_without_vnodes.txt | tr '\n' ' ' > /tmp/split_dtest_tests_j8_upgradetests_without_vnodes_final.txt @@ -1016,7 +1016,7 @@ jobs: mkdir -p /tmp/results/dtests # we need the "set -o pipefail" here so that the exit code that circleci will actually use is from pytest and not the exit code from tee export SPLIT_TESTS=`cat /tmp/split_dtest_tests_j8_upgradetests_without_vnodes_final.txt` - set -o pipefail && cd ~/cassandra-dtest && pytest --execute-upgrade-tests --log-cli-level=DEBUG --junit-xml=/tmp/results/dtests/pytest_result_j8_upgradetests_without_vnodes.xml -s --cassandra-dir=/home/cassandra/cassandra --keep-test-dir $SPLIT_TESTS 2>&1 | tee /tmp/dtest/stdout.txt + set -o pipefail && cd ~/cassandra-dtest && pytest --execute-upgrade-tests-only --log-cli-level=DEBUG --junit-xml=/tmp/results/dtests/pytest_result_j8_upgradetests_without_vnodes.xml -s --cassandra-dir=/home/cassandra/cassandra --keep-test-dir $SPLIT_TESTS 2>&1 | tee /tmp/dtest/stdout.txt - store_test_results: path: /tmp/results - store_artifacts: diff --git a/.circleci/generate.sh b/.circleci/generate.sh index 5856a0f027..d49545c91f 100755 --- a/.circleci/generate.sh +++ b/.circleci/generate.sh @@ -13,3 +13,6 @@ rm $BASEDIR/config-2_1.yml.MIDRES patch -o $BASEDIR/config-2_1.yml.HIGHRES $BASEDIR/config-2_1.yml $BASEDIR/config-2_1.yml.high_res.patch circleci config process $BASEDIR/config-2_1.yml.HIGHRES > $BASEDIR/config.yml.HIGHRES rm $BASEDIR/config-2_1.yml.HIGHRES + +# copy lower into config.yml to make sure this gets updated +cp $BASEDIR/config.yml.LOWRES $BASEDIR/config.yml