Skip to content

Commit fa02504

Browse files
authored
Merge branch 'main' into exclude-chunk
2 parents cc33fa7 + 2c8b323 commit fa02504

451 files changed

Lines changed: 34634 additions & 17706 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/actionlint.yaml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
self-hosted-runner:
2+
labels:
3+
- timescaledb-runner-arm64
4+
- cloud-image-runner-ubuntu-24-arm64
5+
6+
config-variables: null
7+
8+
paths:
9+
.github/workflows/**/*.{yml,yaml}:
10+
ignore:
11+
- 'invalid glob pattern\. unexpected character ''\?'''

.github/ci_settings.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,22 +13,22 @@
1313

1414
PG15_EARLIEST = "15.10"
1515
PG15_LATEST = "15.18"
16-
PG15_LATEST_WIN = "15.17"
16+
PG15_LATEST_WIN = "15.18"
1717
PG15_ABI_MIN = "15.10"
1818

1919
PG16_EARLIEST = "16.6"
2020
PG16_LATEST = "16.14"
21-
PG16_LATEST_WIN = "16.13"
21+
PG16_LATEST_WIN = "16.14"
2222
PG16_ABI_MIN = "16.6"
2323

2424
PG17_EARLIEST = "17.2"
2525
PG17_LATEST = "17.10"
26-
PG17_LATEST_WIN = "17.9"
26+
PG17_LATEST_WIN = "17.10"
2727
PG17_ABI_MIN = "17.2"
2828

2929
PG18_EARLIEST = "18.0"
3030
PG18_LATEST = "18.4"
31-
PG18_LATEST_WIN = "18.3"
31+
PG18_LATEST_WIN = "18.4"
3232
PG18_ABI_MIN = "18.0"
3333

3434
PG_LATEST = [PG15_LATEST, PG16_LATEST, PG17_LATEST, PG18_LATEST]

.github/workflows/abi.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ jobs:
3939
run: python .github/gh_config_reader.py
4040

4141
abi_test:
42-
name: ABI Test ${{ matrix.dir }} PG${{ matrix.pg }}
42+
name: ABI Test PG${{ matrix.pg }}
4343
runs-on: ubuntu-latest
4444
needs: config
4545
strategy:
@@ -129,13 +129,13 @@ jobs:
129129
if: always() && steps.collectlogs.outputs.regression_diff == 'true'
130130
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
131131
with:
132-
name: Regression diff ABI Breakage ${{ matrix.dir }} PG${{ matrix.pg }}
132+
name: Regression diff ABI Breakage PG${{ matrix.pg }}
133133
path: regression.log
134134

135135
- name: Save postmaster.log
136136
if: always()
137137
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
138138
with:
139-
name: PostgreSQL log ABI Breakage ${{ matrix.dir }} PG${{ matrix.pg }}
139+
name: PostgreSQL log ABI Breakage PG${{ matrix.pg }}
140140
path: postmaster.log
141141

.github/workflows/apt-installcheck.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ jobs:
5959
run: |
6060
apt-get update
6161
apt-get install -y --no-install-recommends \
62-
timescaledb-2${{ matrix.pkg_suffix }}-postgresql-${{ matrix.pg }} timescaledb-tools
62+
timescaledb-2-postgresql-${{ matrix.pg }} timescaledb-tools
6363
timescaledb-tune --quiet --yes
6464
6565
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
name: "Build .deb artifacts (dev)"
2+
3+
"on":
4+
push:
5+
branches: [main]
6+
7+
# Avoid stacking dispatches when commits land in quick succession.
8+
# Note: this cancels pending dispatches, not the builds themselves on the
9+
# release-build-scripts side. Each dispatch that does fire builds to its own
10+
# SHA-keyed S3 prefix, so there's no artifact conflict either way.
11+
concurrency:
12+
group: dev-deb-${{ github.ref }}
13+
cancel-in-progress: true
14+
15+
permissions:
16+
contents: read
17+
18+
jobs:
19+
dispatch:
20+
name: Dispatch .deb build
21+
runs-on: ubuntu-latest
22+
env:
23+
GH_TOKEN: ${{ secrets.ORG_AUTOMATION_TOKEN }}
24+
WORKFLOW_REPO: timescale/release-build-scripts
25+
WORKFLOW_FILE: timescaledb-apt.yml
26+
steps:
27+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
28+
29+
- name: Compute build inputs
30+
id: compute
31+
run: |
32+
set -euo pipefail
33+
BASE=$(grep '^version = ' version.config | sed 's!^version = !!')
34+
if [ -z "$BASE" ]; then
35+
echo "::error::Could not extract version from version.config"
36+
exit 1
37+
fi
38+
SHORT="${GITHUB_SHA:0:8}"
39+
# ~ sorts before any character in Debian version comparison, so this
40+
# always orders before any GA release of the same base version.
41+
DEV_VERSION="${BASE}~dev.g${SHORT}"
42+
# Replace / in branch names (e.g. users/brent/foo) for S3-friendly keys
43+
BRANCH_KEY="${GITHUB_REF_NAME//\//_}"
44+
echo "version=${DEV_VERSION}" >> "$GITHUB_OUTPUT"
45+
echo "short-sha=${SHORT}" >> "$GITHUB_OUTPUT"
46+
echo "branch-key=${BRANCH_KEY}" >> "$GITHUB_OUTPUT"
47+
echo "Building version: ${DEV_VERSION} from sha ${GITHUB_SHA}"
48+
49+
- name: Dispatch build
50+
env:
51+
VERSION: ${{ steps.compute.outputs.version }}
52+
run: |
53+
set -euo pipefail
54+
gh workflow run "${WORKFLOW_FILE}" \
55+
-R "${WORKFLOW_REPO}" \
56+
-f version="${VERSION}" \
57+
-f commit="${GITHUB_SHA}" \
58+
-f skip-dev-guards=true \
59+
-f matrix-mode=slim \
60+
-f upload-mode=s3 \
61+
-f s3-bucket=timescaledb-build-artifacts \
62+
-f s3-prefix="builds/${GITHUB_SHA}" \
63+
-f aws-role-arn="${{ secrets.TIMESCALEDB_CI_S3_WRITER }}"
64+
65+
- name: Summary
66+
if: always()
67+
env:
68+
VERSION: ${{ steps.compute.outputs.version }}
69+
run: |
70+
{
71+
echo "## Dispatched dev .deb build"
72+
echo ""
73+
echo "**Version:** \`${VERSION}\`"
74+
echo "**Build workflow:** https://github.com/${WORKFLOW_REPO}/actions/workflows/${WORKFLOW_FILE}"
75+
echo "**S3 prefix (after build completes):** \`s3://timescaledb-build-artifacts/builds/${GITHUB_SHA}/\`"
76+
echo "**Public URL prefix:** https://timescaledb-build-artifacts.s3.amazonaws.com/builds/${GITHUB_SHA}/"
77+
echo "**Manifest URL (after build completes):** https://timescaledb-build-artifacts.s3.amazonaws.com/manifests/${GITHUB_SHA}.json"
78+
} >> "$GITHUB_STEP_SUMMARY"

.github/workflows/catalog-updates-check.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
2121
- name: Check sql file contents
2222
run: |
23-
find sql -name '*.sql' -not -path 'sql/updates/*' -not -path 'sql/compat.sql' | xargs -IFILE python scripts/check_updates.py FILE
23+
find sql -name '*.sql' -not -path 'sql/updates/*' -not -path 'sql/compat.sql' -exec python scripts/check_updates.py {} \;
2424
2525
- name: Check latest-dev contents
2626
run: |

.github/workflows/changelog-check.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -50,19 +50,19 @@ jobs:
5050
5151
# Get the list of modified files as a bash array. Exclude the
5252
# development-related files because they don't require a changelog.
53-
mapfile -t modified_files < <(gh pr view $PR_NUMBER --json files --jq '
53+
mapfile -t modified_files < <(gh pr view "$PR_NUMBER" --json files --jq '
5454
[.files.[].path | select(
5555
(startswith(".github") or startswith("test")
5656
or startswith("tsl/test") or startswith("scripts"))
5757
| not)] | .[]')
58-
echo "Modified files: ${modified_files[@]}"
58+
echo "Modified files: ${modified_files[*]}"
5959
6060
# Get the changelog files as a bash array
61-
mapfile -t changelog_files < <(gh pr view $PR_NUMBER --json files --jq "
61+
mapfile -t changelog_files < <(gh pr view "$PR_NUMBER" --json files --jq "
6262
[.files.[].path | select(startswith(\"${folder}\"))] | .[]")
63-
echo "Changelog files: ${changelog_files[@]}"
63+
echo "Changelog files: ${changelog_files[*]}"
6464
65-
if echo "$BODY" | egrep -qsi "Disable-check:[[:space:]]*force-changelog-file"
65+
if echo "$BODY" | grep -E -qsi "Disable-check:[[:space:]]*force-changelog-file"
6666
then
6767
# skip changelog checks if forced
6868
:

.github/workflows/claude-code-review.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121

2222
- name: Run Claude Code Review
2323
id: claude-review
24-
uses: anthropics/claude-code-action@476e359e6203e73dad705c8b322e333fabbd7416 # v1.0.119
24+
uses: anthropics/claude-code-action@787c5a0ce96a9a6cfb050ea0c8f4c05f2447c251 # v1.0.133
2525
with:
2626
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
2727
prompt: |

.github/workflows/coccinelle.yaml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,15 @@ name: Coccinelle
99
jobs:
1010
coccinelle:
1111
name: Coccinelle
12-
# coccinelle version in ubuntu-latest (20.04) is too old so we run
13-
# this in jammy (22.04)
14-
runs-on: ubuntu-22.04
12+
runs-on: ubuntu-latest
1513

1614
steps:
1715
- name: Install Linux Dependencies
1816
timeout-minutes: 15
1917
run: |
18+
yes | sudo /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh
2019
sudo apt-get update
21-
sudo apt-get -y install coccinelle
20+
sudo apt-get -y install --no-install-recommends coccinelle postgresql-server-dev-18
2221
2322
- name: Checkout TimescaleDB
2423
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

.github/workflows/code_style.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ jobs:
110110
if: always()
111111
run: |
112112
echo '::add-matcher::.github/problem-matchers/grep.json'
113-
! grep [f]ixme -niR ./* .github/workflows/*
113+
! grep '[f]ixme' -niR ./* .github/workflows/*
114114
115115
python_checks:
116116
name: Check Python code in tree

0 commit comments

Comments
 (0)