Skip to content

Commit

Permalink
PG17: Enable CI
Browse files Browse the repository at this point in the history
This commit enables PG17 in the following workflows:
* Regression Linux (including 32bit)
* Memory tests
* Sanitizer tests
* Coverity
* SQLSmith
* pg_upgrade tests
  • Loading branch information
fabriziomello committed Sep 26, 2024
1 parent 0cc00e7 commit 32a571d
Show file tree
Hide file tree
Showing 10 changed files with 35 additions and 22 deletions.
6 changes: 5 additions & 1 deletion .github/ci_settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,4 +23,8 @@
PG16_LATEST = "16.3"
PG16_ABI_MIN = "16.0"

PG_LATEST = [PG14_LATEST, PG15_LATEST, PG16_LATEST]
PG17_EARLIEST = "17.0"
PG17_LATEST = "17.3"
PG17_ABI_MIN = "17.0"

PG_LATEST = [PG14_LATEST, PG15_LATEST, PG16_LATEST, PG17_LATEST]
30 changes: 19 additions & 11 deletions .github/gh_matrix_builder.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
PG15_LATEST,
PG16_EARLIEST,
PG16_LATEST,
PG17_LATEST,
PG_LATEST,
)

Expand Down Expand Up @@ -165,31 +166,24 @@ 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",
}
)
)

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
Expand All @@ -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:
Expand Down Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/coverity.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/linux-32bit-build-and-test-ignored.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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: |
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/linux-32bit-build-and-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/memory-tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/pg_upgrade-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ jobs:
pg_version_new: 16
- pg_version_old: 15 # 15 to 16
pg_version_new: 16
- pg_version_old: 16 # 16 to 17
pg_version_new: 17
fail-fast: false
env:
OUTPUT_DIR: ${{ github.workspace }}/pg_upgrade_test
Expand Down
1 change: 0 additions & 1 deletion .github/workflows/sanitizer-build-and-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/sqlsmith.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
6 changes: 3 additions & 3 deletions scripts/backport.py
Original file line number Diff line number Diff line change
Expand Up @@ -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']}>"
)
Expand Down

0 comments on commit 32a571d

Please sign in to comment.