diff --git a/.github/ci_settings.py b/.github/ci_settings.py index a22c37ad685..4eb09a515ae 100644 --- a/.github/ci_settings.py +++ b/.github/ci_settings.py @@ -12,15 +12,19 @@ # PG14_EARLIEST = "14.0" -PG14_LATEST = "14.12" +PG14_LATEST = "14.13" PG14_ABI_MIN = "14.0" PG15_EARLIEST = "15.0" -PG15_LATEST = "15.7" +PG15_LATEST = "15.8" PG15_ABI_MIN = "15.0" PG16_EARLIEST = "16.0" -PG16_LATEST = "16.3" +PG16_LATEST = "16.4" PG16_ABI_MIN = "16.0" -PG_LATEST = [PG14_LATEST, PG15_LATEST, PG16_LATEST] +PG17_EARLIEST = "17.0" +PG17_LATEST = "17.0" +PG17_ABI_MIN = "17.0" + +PG_LATEST = [PG14_LATEST, PG15_LATEST, PG16_LATEST, PG17_LATEST] diff --git a/.github/gh_matrix_builder.py b/.github/gh_matrix_builder.py index c459cc47082..4e55622bf91 100755 --- a/.github/gh_matrix_builder.py +++ b/.github/gh_matrix_builder.py @@ -32,6 +32,7 @@ PG15_LATEST, PG16_EARLIEST, PG16_LATEST, + PG17_LATEST, PG_LATEST, ) @@ -165,15 +166,17 @@ def macos_config(overrides): m["include"].append(build_debug_config({"pg": PG16_LATEST})) +m["include"].append(build_debug_config({"pg": PG17_LATEST})) + # test timescaledb with release config on latest postgres release in MacOS -m["include"].append(build_release_config(macos_config({"pg": PG16_LATEST}))) +m["include"].append(build_release_config(macos_config({"pg": PG17_LATEST}))) # Test latest postgres release without telemetry. Also run clang-tidy on it # because it's the fastest one. m["include"].append( build_without_telemetry( { - "pg": PG16_LATEST, + "pg": PG17_LATEST, "cc": "clang-14", "cxx": "clang++-14", "tsdb_build_args": "-DLINTER=ON -DWARNINGS_AS_ERRORS=ON", @@ -181,15 +184,6 @@ def macos_config(overrides): ) ) -m["include"].append( - build_debug_config( - { - "pg": "17", - "snapshot": "snapshot", - } - ) -) - # if this is not a pull request e.g. a scheduled run or a push # to a specific branch like prerelease_test we add additional # entries to the matrix @@ -210,15 +204,21 @@ def macos_config(overrides): # add debug test for first supported PG16 version m["include"].append(build_debug_config({"pg": PG16_EARLIEST})) + # add debug test for first supported PG16 version + m["include"].append(build_debug_config({"pg": PG17_EARLIEST})) + # add debug tests for timescaledb on latest postgres release in MacOS m["include"].append(build_debug_config(macos_config({"pg": PG15_LATEST}))) m["include"].append(build_debug_config(macos_config({"pg": PG16_LATEST}))) + m["include"].append(build_debug_config(macos_config({"pg": PG17_LATEST}))) + # add release test for latest pg releases m["include"].append(build_release_config({"pg": PG14_LATEST})) m["include"].append(build_release_config({"pg": PG15_LATEST})) m["include"].append(build_release_config({"pg": PG16_LATEST})) + m["include"].append(build_release_config({"pg": PG17_LATEST})) # add apache only test for latest pg versions for PG_LATEST_VER in PG_LATEST: @@ -250,6 +250,14 @@ def macos_config(overrides): } ) ) + m["include"].append( + build_debug_config( + { + "pg": 17, + "snapshot": "snapshot", + } + ) + ) elif len(sys.argv) > 2: # Check if we need to check for the flaky tests. Determine which test files # have been changed in the PR. The sql files might include other files that diff --git a/.github/workflows/code_style.yaml b/.github/workflows/code_style.yaml index 97491244b37..d030a289fc3 100644 --- a/.github/workflows/code_style.yaml +++ b/.github/workflows/code_style.yaml @@ -98,30 +98,12 @@ jobs: - name: Install prerequisites run: | pip install --upgrade pip - # Inexplicably, at some point pip started to insist on installing - # prospector==1.7.7, which is incompatible with the new pylint. - # Also pin the version of the other tools so that they don't fail - # sporadically when a new version becomes available. - pip install black prospector==1.8.4 pylint==2.16.0 dodgy==0.2.1 \ - mccabe==0.7.0 pycodestyle==2.9.1 pyflakes==2.5.0 \ - psutil pygithub pglast + pip install black prospector pylint dodgy \ + mccabe pycodestyle pyflakes \ + psutil pygithub pglast testgres pip list pip list --user - # Using e375302a until 1.10.1 get released including the following PR - # https://github.com/postgrespro/testgres/pull/125 - - name: Checkout testgres - uses: actions/checkout@v4 - with: - repository: 'postgrespro/testgres' - path: 'testgres' - ref: e375302a114cd4df3ceed54d6526f250c44c08e7 - - - name: Build and install testgres - run: | - cd testgres - python setup.py install --user - - name: Checkout source uses: actions/checkout@v4 diff --git a/.github/workflows/coverity.yaml b/.github/workflows/coverity.yaml index e6d51902169..f22c1415c57 100644 --- a/.github/workflows/coverity.yaml +++ b/.github/workflows/coverity.yaml @@ -15,7 +15,7 @@ jobs: fail-fast: false matrix: # run only on the 3 latest PG versions as we have rate limit on coverity - pg: [14, 15, 16] + pg: [15, 16, 17] os: [ubuntu-20.04] steps: - name: Install Dependencies diff --git a/.github/workflows/linux-32bit-build-and-test-ignored.yaml b/.github/workflows/linux-32bit-build-and-test-ignored.yaml index affd0d41744..1363262296d 100644 --- a/.github/workflows/linux-32bit-build-and-test-ignored.yaml +++ b/.github/workflows/linux-32bit-build-and-test-ignored.yaml @@ -39,7 +39,7 @@ jobs: pg: ${{ fromJson(needs.config.outputs.pg_latest) }} build_type: [ Debug ] include: - - pg: ${{ fromJson(needs.config.outputs.pg16_latest) }} + - pg: ${{ fromJson(needs.config.outputs.pg17_latest) }} build_type: Debug steps: - run: | diff --git a/.github/workflows/linux-32bit-build-and-test.yaml b/.github/workflows/linux-32bit-build-and-test.yaml index bd7cd9fc501..c01ce3a740d 100644 --- a/.github/workflows/linux-32bit-build-and-test.yaml +++ b/.github/workflows/linux-32bit-build-and-test.yaml @@ -25,7 +25,7 @@ jobs: runs-on: ubuntu-latest outputs: pg_latest: ${{ steps.setter.outputs.PG_LATEST }} - pg16_latest: ${{ steps.setter.outputs.PG16_LATEST }} + pg17_latest: ${{ steps.setter.outputs.PG17_LATEST }} steps: - name: Checkout source code uses: actions/checkout@v4 @@ -55,7 +55,7 @@ jobs: pg: ${{ fromJson(needs.config.outputs.pg_latest) }} build_type: [ Debug ] include: - - pg: ${{ fromJson(needs.config.outputs.pg16_latest) }} + - pg: ${{ fromJson(needs.config.outputs.pg17_latest) }} build_type: Debug fail-fast: false diff --git a/.github/workflows/memory-tests.yaml b/.github/workflows/memory-tests.yaml index 0754010c373..f2de51d2a23 100644 --- a/.github/workflows/memory-tests.yaml +++ b/.github/workflows/memory-tests.yaml @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-20.04 strategy: matrix: - pg: [14, 15, 16] + pg: [14, 15, 16, 17] fail-fast: false steps: diff --git a/.github/workflows/sanitizer-build-and-test.yaml b/.github/workflows/sanitizer-build-and-test.yaml index edf75798551..5b22e35ca6d 100644 --- a/.github/workflows/sanitizer-build-and-test.yaml +++ b/.github/workflows/sanitizer-build-and-test.yaml @@ -55,7 +55,6 @@ jobs: runs-on: ubuntu-latest outputs: pg_latest: ${{ steps.setter.outputs.PG_LATEST }} - pg16_latest: ${{ steps.setter.outputs.PG16_LATEST }} steps: - name: Checkout source code uses: actions/checkout@v4 diff --git a/.github/workflows/sqlsmith.yaml b/.github/workflows/sqlsmith.yaml index 8b4d6cb4379..08c3fbd6438 100644 --- a/.github/workflows/sqlsmith.yaml +++ b/.github/workflows/sqlsmith.yaml @@ -20,7 +20,7 @@ jobs: strategy: matrix: os: ["ubuntu-22.04"] - pg: [ "15", "16" ] + pg: [ "15", "16", "17" ] build_type: ["Debug"] fail-fast: false env: diff --git a/scripts/backport.py b/scripts/backport.py index a42dfd41975..f87624b2b41 100755 --- a/scripts/backport.py +++ b/scripts/backport.py @@ -172,9 +172,9 @@ def git_returncode(command): # address. It is required so that the commits are recognized by Github as made # by the user. That is, if you use a wrong e-mail, there won't be a clickable # profile picture next to the commit in the Github interface. -os.environ[ - "GIT_COMMITTER_EMAIL" -] = f"{token_user.id}+{token_user.login}@users.noreply.github.com" +os.environ["GIT_COMMITTER_EMAIL"] = ( + f"{token_user.id}+{token_user.login}@users.noreply.github.com" +) print( f"Will commit as {os.environ['GIT_COMMITTER_NAME']} <{os.environ['GIT_COMMITTER_EMAIL']}>" )