Skip to content

Commit e273d4f

Browse files
committed
Merge remote-tracking branch 'upstream/v1.3-ossivalis'
2 parents 0f67f6b + a05d25a commit e273d4f

File tree

5 files changed

+70
-35
lines changed

5 files changed

+70
-35
lines changed

.github/workflows/on_external_dispatch.yml

Lines changed: 45 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,32 +6,68 @@ on:
66
type: string
77
description: The DuckDB SHA to build against
88
required: true
9-
force_version:
9+
commit-duckdb-sha:
10+
type: boolean
11+
description: Set (commit) the DuckDB submodule to the given SHA
12+
default: true
13+
force-version:
1014
type: string
1115
description: Force version (vX.Y.Z-((rc|post)N))
1216
required: false
13-
publish_packages:
17+
publish-packages:
1418
type: boolean
1519
description: Publish to S3
1620
required: true
1721
default: false
1822

23+
defaults:
24+
run:
25+
shell: bash
26+
1927
jobs:
28+
commit_duckdb_submodule_sha:
29+
name: Commit the submodule to the given DuckDB sha
30+
if: ${{ inputs.commit-duckdb-sha }}
31+
runs-on: ubuntu-24.04
32+
steps:
33+
34+
- name: Checkout DuckDB Python
35+
uses: actions/checkout@v4
36+
with:
37+
ref: ${{ github.ref }}
38+
fetch-depth: 0
39+
submodules: true
40+
41+
- name: Checkout DuckDB
42+
run: |
43+
cd external/duckdb
44+
git fetch origin
45+
git checkout ${{ inputs.duckdb_git_ref }}
46+
47+
- name: Commit and push new submodule ref
48+
# see https://github.com/actions/checkout?tab=readme-ov-file#push-a-commit-to-a-pr-using-the-built-in-token
49+
run: |
50+
git config user.name "github-actions[bot]"
51+
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
52+
git add external/duckdb
53+
git commit -m "Update submodule ref"
54+
git push
55+
2056
externally_triggered_build:
2157
name: Build and test releases
22-
uses: ./.github/workflows/pypi_packaging.yml
58+
uses: ./.github/workflows/packaging.yml
2359
with:
2460
minimal: false
2561
testsuite: all
26-
git_ref: ${{ github.ref }}
27-
duckdb_git_ref: ${{ inputs.duckdb-sha }}
28-
force_version: ${{ inputs.force_version }}
62+
git-ref: ${{ github.ref }}
63+
duckdb-git-ref: ${{ inputs.duckdb-sha }}
64+
force-version: ${{ inputs.force-version }}
2965

30-
publish-s3:
66+
publish_s3:
3167
name: Publish Artifacts to the S3 Staging Bucket
3268
runs-on: ubuntu-latest
3369
needs: [ externally_triggered_build ]
34-
if: ${{ github.repository_owner == 'duckdb' && inputs.publish_packages }}
70+
if: ${{ github.repository_owner == 'duckdb' && inputs.publish-packages }}
3571
steps:
3672
- name: Fetch artifacts
3773
uses: actions/download-artifact@v4
@@ -51,7 +87,6 @@ jobs:
5187
# semantics: if a version is forced then we upload into a folder by the version name, otherwise we upload
5288
# into a folder that is named <run id>-<run-attempt>. Only the latter will be discovered be
5389
# upload_to_pypi.yml.
54-
shell: bash
5590
run: |
56-
FOLDER="${{ inputs.force_version != '' && inputs.force_version || format('{0}-{1}', github.run_id, github.run_attempt) }}"
91+
FOLDER="${{ inputs.force-version != '' && inputs.force-version || format('{0}-{1}', github.run_id, github.run_attempt) }}"
5792
aws s3 cp artifacts s3://duckdb-staging/${{ github.repository }}/${FOLDER}/ --recursive

.github/workflows/on_pr.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,11 @@ jobs:
2424
name: Build a minimal set of packages and run all tests on them
2525
# Skip packaging tests for draft PRs
2626
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.draft == false }}
27-
uses: ./.github/workflows/pypi_packaging.yml
27+
uses: ./.github/workflows/packaging.yml
2828
with:
2929
minimal: true
3030
testsuite: all
31-
duckdb_git_ref: ${{ github.base_ref }}
31+
duckdb-git-ref: ${{ github.base_ref }}
3232

3333
coverage_test:
3434
name: Run coverage tests

.github/workflows/on_push_postrelease.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,10 @@ jobs:
3333
packaging_test:
3434
name: Build and test post release packages and upload to S3
3535
needs: extract_duckdb_tag
36-
uses: ./.github/workflows/pypi_packaging.yml
36+
uses: ./.github/workflows/packaging.yml
3737
with:
3838
minimal: false
3939
testsuite: all
40-
git_ref: ${{ github.ref }}
41-
duckdb_git_ref: ${{ needs.extract_duckdb_tag.outputs.duckdb_version }}
42-
force_version: ${{ github.ref_name }}
40+
git-ref: ${{ github.ref }}
41+
duckdb-git-ref: ${{ needs.extract_duckdb_tag.outputs.duckdb_version }}
42+
force-version: ${{ github.ref_name }}

.github/workflows/pypi_packaging.yml renamed to .github/workflows/packaging.yml

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: Packaging
2-
run-name: Build ${{ inputs.minimal && 'minimal set of' || 'all' }} packages (version=${{ inputs.force_version != '' && inputs.force_version || 'dev' }}, tests=${{ inputs.testsuite }}, ref=${{ inputs.git_ref }}, duckdb ref=${{ inputs.duckdb_git_ref }})
2+
run-name: Build ${{ inputs.minimal && 'minimal set of' || 'all' }} packages (version=${{ inputs.force-version != '' && inputs.force-version || 'dev' }}, tests=${{ inputs.testsuite }}, ref=${{ inputs.git-ref }}, duckdb ref=${{ inputs.duckdb-git-ref }})
33
on:
44
workflow_dispatch:
55
inputs:
@@ -16,16 +16,16 @@ on:
1616
- none
1717
- fast
1818
- all
19-
git_ref:
19+
git-ref:
2020
type: string
2121
description: Git ref of the DuckDB python package
2222
required: false
23-
duckdb_git_ref:
23+
duckdb-git-ref:
2424
type: string
2525
description: Git ref of DuckDB
2626
required: true
2727
default: refs/heads/main
28-
force_version:
28+
force-version:
2929
type: string
3030
description: Force version (vX.Y.Z-((rc|post)N))
3131
required: false
@@ -40,15 +40,15 @@ on:
4040
description: Testsuite to run (none, fast, all)
4141
required: true
4242
default: all
43-
git_ref:
43+
git-ref:
4444
type: string
4545
description: Git ref of the DuckDB python package
4646
required: false
47-
duckdb_git_ref:
47+
duckdb-git-ref:
4848
type: string
4949
description: Git ref of DuckDB
5050
required: false
51-
force_version:
51+
force-version:
5252
description: Force version (vX.Y.Z-((rc|post)N))
5353
required: false
5454
type: string
@@ -70,7 +70,7 @@ jobs:
7070
- name: Checkout DuckDB Python
7171
uses: actions/checkout@v4
7272
with:
73-
ref: ${{ inputs.git_ref }}
73+
ref: ${{ inputs.git-ref }}
7474
fetch-depth: 0
7575
submodules: true
7676

@@ -79,11 +79,11 @@ jobs:
7979
run: |
8080
cd external/duckdb
8181
git fetch origin
82-
git checkout ${{ inputs.duckdb_git_ref }}
82+
git checkout ${{ inputs.duckdb-git-ref }}
8383
8484
- name: Set OVERRIDE_GIT_DESCRIBE
85-
if: ${{ inputs.force_version != '' }}
86-
run: echo "OVERRIDE_GIT_DESCRIBE=${{ inputs.force_version }}" >> $GITHUB_ENV
85+
if: ${{ inputs.force-version != '' }}
86+
run: echo "OVERRIDE_GIT_DESCRIBE=${{ inputs.force-version }}" >> $GITHUB_ENV
8787

8888
- name: Install Astral UV
8989
uses: astral-sh/setup-uv@v6
@@ -153,7 +153,7 @@ jobs:
153153
- name: Checkout DuckDB Python
154154
uses: actions/checkout@v4
155155
with:
156-
ref: ${{ inputs.git_ref }}
156+
ref: ${{ inputs.git-ref }}
157157
fetch-depth: 0
158158
submodules: true
159159

@@ -162,12 +162,12 @@ jobs:
162162
run: |
163163
cd external/duckdb
164164
git fetch origin
165-
git checkout ${{ inputs.duckdb_git_ref }}
165+
git checkout ${{ inputs.duckdb-git-ref }}
166166
167167
# Make sure that OVERRIDE_GIT_DESCRIBE is propagated to cibuildwhel's env, also when it's running linux builds
168168
- name: Set OVERRIDE_GIT_DESCRIBE
169-
if: ${{ inputs.force_version != '' }}
170-
run: echo "CIBW_ENVIRONMENT=OVERRIDE_GIT_DESCRIBE=${{ inputs.force_version }}" >> $GITHUB_ENV
169+
if: ${{ inputs.force-version != '' }}
170+
run: echo "CIBW_ENVIRONMENT=OVERRIDE_GIT_DESCRIBE=${{ inputs.force-version }}" >> $GITHUB_ENV
171171

172172
# Install Astral UV, which will be used as build-frontend for cibuildwheel
173173
- uses: astral-sh/setup-uv@v6

.github/workflows/upload_to_pypi.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,12 @@ on:
1717
options:
1818
- test.pypi
1919
- production.pypi
20-
artifact_folder:
21-
description: The S3 folder that contains the artifacts (s3://duckdb-staging/duckdb/duckdb-python/<artifact_folder>)
20+
artifact-folder:
21+
description: The S3 folder that contains the artifacts (s3://duckdb-staging/duckdb/duckdb-python/<artifact-folder>)
2222
type: string
2323
required: true
2424

25-
concurrency: ${{ inputs.artifact_folder || format('{0}-{1}', github.event.workflow_run.id, github.event.workflow_run.run_attempt) }}
25+
concurrency: ${{ inputs.artifact-folder || format('{0}-{1}', github.event.workflow_run.id, github.event.workflow_run.run_attempt) }}
2626

2727
jobs:
2828
prepare:
@@ -35,7 +35,7 @@ jobs:
3535
- name: Determine S3 Prefix
3636
id: get_s3_prefix
3737
run: |
38-
artifact_folder="${{ inputs.artifact_folder || format('{0}-{1}', github.event.workflow_run.id, github.event.workflow_run.run_attempt) }}"
38+
artifact_folder="${{ inputs.artifact-folder || format('{0}-{1}', github.event.workflow_run.id, github.event.workflow_run.run_attempt) }}"
3939
if [[ -n "${artifact_folder}" ]]; then
4040
s3_prefix="${{ github.repository }}/${artifact_folder}"
4141
echo "Created S3 prefix: ${s3_prefix}"

0 commit comments

Comments
 (0)