diff --git a/.github/workflows/build_and_test.yml b/.github/workflows/build_and_test.yml index 54721c0e00e..dfc58f1dcc3 100644 --- a/.github/workflows/build_and_test.yml +++ b/.github/workflows/build_and_test.yml @@ -27,11 +27,12 @@ jobs: style_checker_image_name: "ghcr.io/citusdata/stylechecker" style_checker_tools_version: "0.8.18" sql_snapshot_pg_version: "16.3" - image_suffix: "-v13fd57c" + image_suffix: "-dev-e5b0348" pg14_version: '{ "major": "14", "full": "14.12" }' pg15_version: '{ "major": "15", "full": "15.7" }' pg16_version: '{ "major": "16", "full": "16.3" }' - upgrade_pg_versions: "14.12-15.7-16.3" + pg17_version: '{ "major": "17", "full": "17.0" }' + upgrade_pg_versions: "14.12-15.7-16.3-17.0" steps: # Since GHA jobs needs at least one step we use a noop step here. - name: Set up parameters @@ -108,6 +109,7 @@ jobs: - ${{ needs.params.outputs.pg14_version }} - ${{ needs.params.outputs.pg15_version }} - ${{ needs.params.outputs.pg16_version }} + - ${{ needs.params.outputs.pg17_version }} runs-on: ubuntu-20.04 container: image: "${{ matrix.image_name }}:${{ fromJson(matrix.pg_version).full }}${{ matrix.image_suffix }}" @@ -139,6 +141,7 @@ jobs: - ${{ needs.params.outputs.pg14_version }} - ${{ needs.params.outputs.pg15_version }} - ${{ needs.params.outputs.pg16_version }} + - ${{ needs.params.outputs.pg17_version }} make: - check-split - check-multi @@ -168,6 +171,10 @@ jobs: pg_version: ${{ needs.params.outputs.pg16_version }} suite: regress image_name: ${{ needs.params.outputs.fail_test_image_name }} + - make: check-failure + pg_version: ${{ needs.params.outputs.pg17_version }} + suite: regress + image_name: ${{ needs.params.outputs.fail_test_image_name }} - make: check-enterprise-failure pg_version: ${{ needs.params.outputs.pg14_version }} suite: regress @@ -180,6 +187,10 @@ jobs: pg_version: ${{ needs.params.outputs.pg16_version }} suite: regress image_name: ${{ needs.params.outputs.fail_test_image_name }} + - make: check-enterprise-failure + pg_version: ${{ needs.params.outputs.pg17_version }} + suite: regress + image_name: ${{ needs.params.outputs.fail_test_image_name }} - make: check-pytest pg_version: ${{ needs.params.outputs.pg14_version }} suite: regress @@ -192,6 +203,10 @@ jobs: pg_version: ${{ needs.params.outputs.pg16_version }} suite: regress image_name: ${{ needs.params.outputs.fail_test_image_name }} + - make: check-pytest + pg_version: ${{ needs.params.outputs.pg17_version }} + suite: regress + image_name: ${{ needs.params.outputs.fail_test_image_name }} - make: installcheck suite: cdc image_name: ${{ needs.params.outputs.test_image_name }} @@ -200,6 +215,10 @@ jobs: suite: cdc image_name: ${{ needs.params.outputs.test_image_name }} pg_version: ${{ needs.params.outputs.pg16_version }} + - make: installcheck + suite: cdc + image_name: ${{ needs.params.outputs.test_image_name }} + pg_version: ${{ needs.params.outputs.pg17_version }} - make: check-query-generator pg_version: ${{ needs.params.outputs.pg14_version }} suite: regress @@ -212,6 +231,10 @@ jobs: pg_version: ${{ needs.params.outputs.pg16_version }} suite: regress image_name: ${{ needs.params.outputs.fail_test_image_name }} + - make: check-query-generator + pg_version: ${{ needs.params.outputs.pg17_version }} + suite: regress + image_name: ${{ needs.params.outputs.fail_test_image_name }} runs-on: ubuntu-20.04 container: image: "${{ matrix.image_name }}:${{ fromJson(matrix.pg_version).full }}${{ needs.params.outputs.image_suffix }}" @@ -255,6 +278,7 @@ jobs: - ${{ needs.params.outputs.pg14_version }} - ${{ needs.params.outputs.pg15_version }} - ${{ needs.params.outputs.pg16_version }} + - ${{ needs.params.outputs.pg17_version }} parallel: [0,1,2,3,4,5] # workaround for running 6 parallel jobs steps: - uses: actions/checkout@v3.5.0 @@ -303,6 +327,10 @@ jobs: new_pg_major: 16 - old_pg_major: 14 new_pg_major: 16 + - old_pg_major: 16 + new_pg_major: 17 + - old_pg_major: 15 + new_pg_major: 17 env: old_pg_major: ${{ matrix.old_pg_major }} new_pg_major: ${{ matrix.new_pg_major }} @@ -386,7 +414,7 @@ jobs: CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }} runs-on: ubuntu-20.04 container: - image: ${{ needs.params.outputs.test_image_name }}:${{ fromJson(needs.params.outputs.pg16_version).full }}${{ needs.params.outputs.image_suffix }} + image: ${{ needs.params.outputs.test_image_name }}:${{ fromJson(needs.params.outputs.pg17_version).full }}${{ needs.params.outputs.image_suffix }} needs: - params - test-citus @@ -481,7 +509,7 @@ jobs: name: Test flakyness runs-on: ubuntu-20.04 container: - image: ${{ needs.params.outputs.fail_test_image_name }}:${{ needs.params.outputs.pg16_version }}${{ needs.params.outputs.image_suffix }} + image: ${{ needs.params.outputs.fail_test_image_name }}:${{ needs.params.outputs.pg17_version }}${{ needs.params.outputs.image_suffix }} options: --user root env: runs: 8 diff --git a/configure b/configure index 468c8be10be..df1b943537f 100755 --- a/configure +++ b/configure @@ -2588,7 +2588,7 @@ fi if test "$with_pg_version_check" = no; then { $as_echo "$as_me:${as_lineno-$LINENO}: building against PostgreSQL $version_num (skipped compatibility check)" >&5 $as_echo "$as_me: building against PostgreSQL $version_num (skipped compatibility check)" >&6;} -elif test "$version_num" != '14' -a "$version_num" != '15' -a "$version_num" != '16'; then +elif test "$version_num" != '14' -a "$version_num" != '15' -a "$version_num" != '16' -a "$version_num" != '17'; then as_fn_error $? "Citus is not compatible with the detected PostgreSQL version ${version_num}." "$LINENO" 5 else { $as_echo "$as_me:${as_lineno-$LINENO}: building against PostgreSQL $version_num" >&5 diff --git a/configure.ac b/configure.ac index e3063ee70be..f112521c6d3 100644 --- a/configure.ac +++ b/configure.ac @@ -80,7 +80,7 @@ AC_SUBST(with_pg_version_check) if test "$with_pg_version_check" = no; then AC_MSG_NOTICE([building against PostgreSQL $version_num (skipped compatibility check)]) -elif test "$version_num" != '14' -a "$version_num" != '15' -a "$version_num" != '16'; then +elif test "$version_num" != '14' -a "$version_num" != '15' -a "$version_num" != '16' -a "$version_num" != '17'; then AC_MSG_ERROR([Citus is not compatible with the detected PostgreSQL version ${version_num}.]) else AC_MSG_NOTICE([building against PostgreSQL $version_num]) diff --git a/src/test/regress/citus_tests/common.py b/src/test/regress/citus_tests/common.py index 4d04d268cfa..bcdacd1bfd9 100644 --- a/src/test/regress/citus_tests/common.py +++ b/src/test/regress/citus_tests/common.py @@ -93,6 +93,7 @@ def get_pg_major_version(): 14: "10.2.0", 15: "11.1.5", 16: "12.1devel", + 17: "12.1devel", } OLDEST_SUPPORTED_CITUS_VERSION = OLDEST_SUPPORTED_CITUS_VERSION_MATRIX[PG_MAJOR_VERSION]