From 04b374fc01dfd1dbe33031ac76fb77debbcef24f Mon Sep 17 00:00:00 2001 From: Onur Tirtir Date: Tue, 16 Jan 2024 15:37:18 +0300 Subject: [PATCH] Fix upgrade tests (#7413) Adding upgrade_basic_before_non_mixed.sql file because while upgrade_basic_after_non_mixed exist, its before variation didn't exist as we don't have any "before" steps. However, run_test.py assumes that all "after" files do have a "before" variation as well. So this PR adds an empty upgrade_basic_before_non_mixed.sql file. Also, given that we don't have such a version called as 12.1devel anymore, change it to 12.1.1. And finally, let CI skip testing flakyness for upgrade tests both because it's quite hard to get flaky-test-detection job working for upgrade tests and also because in the end it is not much useful to test upgrade tests against flakyness. --- .github/workflows/build_and_test.yml | 24 +++++++++++++++---- .../before_citus_upgrade_coord_schedule | 2 +- src/test/regress/before_pg_upgrade_schedule | 2 +- src/test/regress/citus_tests/common.py | 2 +- .../upgrade_basic_before_non_mixed.out | 0 .../sql/upgrade_basic_before_non_mixed.sql | 0 6 files changed, 23 insertions(+), 7 deletions(-) create mode 100644 src/test/regress/expected/upgrade_basic_before_non_mixed.out create mode 100644 src/test/regress/sql/upgrade_basic_before_non_mixed.sql diff --git a/.github/workflows/build_and_test.yml b/.github/workflows/build_and_test.yml index f820fae4c..16ff091e7 100644 --- a/.github/workflows/build_and_test.yml +++ b/.github/workflows/build_and_test.yml @@ -471,14 +471,30 @@ jobs: run: |- detected_changes=$(git diff origin/main... --name-only --diff-filter=AM | (grep 'src/test/regress/sql/.*\.sql\|src/test/regress/spec/.*\.spec\|src/test/regress/citus_tests/test/test_.*\.py' || true)) tests=${detected_changes} - if [ -z "$tests" ]; then - echo "No test found." + + # split the tests to be skipped --today we only skip upgrade tests + skipped_tests="" + not_skipped_tests="" + for test in $tests; do + if [[ $test =~ ^src/test/regress/sql/upgrade_ ]]; then + skipped_tests="$skipped_tests $test" + else + not_skipped_tests="$not_skipped_tests $test" + fi + done + + if [ ! -z "$skipped_tests" ]; then + echo "Skipped tests " $skipped_tests + fi + + if [ -z "$not_skipped_tests" ]; then + echo "Not detected any tests that flaky test detection should run" else - echo "Detected tests " $tests + echo "Detected tests " $not_skipped_tests fi echo 'tests<> $GITHUB_OUTPUT - echo "$tests" >> "$GITHUB_OUTPUT" + echo "$not_skipped_tests" >> "$GITHUB_OUTPUT" echo 'EOF' >> $GITHUB_OUTPUT test-flakyness: if: ${{ needs.test-flakyness-pre.outputs.tests != ''}} diff --git a/src/test/regress/before_citus_upgrade_coord_schedule b/src/test/regress/before_citus_upgrade_coord_schedule index 1195058d6..cc6afd30d 100644 --- a/src/test/regress/before_citus_upgrade_coord_schedule +++ b/src/test/regress/before_citus_upgrade_coord_schedule @@ -1,5 +1,5 @@ # this schedule is to be run on only coordinators -test: upgrade_basic_before +test: upgrade_basic_before upgrade_basic_before_non_mixed test: upgrade_pg_dist_cleanup_before test: upgrade_post_11_before diff --git a/src/test/regress/before_pg_upgrade_schedule b/src/test/regress/before_pg_upgrade_schedule index 05810d3d5..95957f8ce 100644 --- a/src/test/regress/before_pg_upgrade_schedule +++ b/src/test/regress/before_pg_upgrade_schedule @@ -1,5 +1,5 @@ # The basic tests runs analyze which depends on shard numbers -test: multi_test_helpers multi_test_helpers_superuser +test: multi_test_helpers multi_test_helpers_superuser upgrade_basic_before_non_mixed test: multi_test_catalog_views test: upgrade_basic_before test: upgrade_ref2ref_before diff --git a/src/test/regress/citus_tests/common.py b/src/test/regress/citus_tests/common.py index 99e419267..2135a0eba 100644 --- a/src/test/regress/citus_tests/common.py +++ b/src/test/regress/citus_tests/common.py @@ -92,7 +92,7 @@ PG_MAJOR_VERSION = get_pg_major_version() OLDEST_SUPPORTED_CITUS_VERSION_MATRIX = { 14: "10.2.0", 15: "11.1.5", - 16: "12.1devel", + 16: "12.1.1", } OLDEST_SUPPORTED_CITUS_VERSION = OLDEST_SUPPORTED_CITUS_VERSION_MATRIX[PG_MAJOR_VERSION] diff --git a/src/test/regress/expected/upgrade_basic_before_non_mixed.out b/src/test/regress/expected/upgrade_basic_before_non_mixed.out new file mode 100644 index 000000000..e69de29bb diff --git a/src/test/regress/sql/upgrade_basic_before_non_mixed.sql b/src/test/regress/sql/upgrade_basic_before_non_mixed.sql new file mode 100644 index 000000000..e69de29bb