From 337ee15780e517aec521600e805a5b0abd93dfb5 Mon Sep 17 00:00:00 2001 From: Carlo Piovesan Date: Tue, 21 May 2024 11:18:30 +0200 Subject: [PATCH 01/12] Bump duckdb to 7bcf6b05c37094c1e95fcb68bf74f15972647e5f, bump extension-ci-tools --- .github/workflows/MainDistributionPipeline.yml | 4 ++-- duckdb | 2 +- extension-ci-tools | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/MainDistributionPipeline.yml b/.github/workflows/MainDistributionPipeline.yml index 717c029..f11685a 100644 --- a/.github/workflows/MainDistributionPipeline.yml +++ b/.github/workflows/MainDistributionPipeline.yml @@ -16,7 +16,7 @@ jobs: name: Build extension binaries uses: duckdb/extension-ci-tools/.github/workflows/_extension_distribution.yml@v0.10.2 with: - duckdb_version: v0.10.2 + duckdb_version: 7bcf6b05c37094c1e95fcb68bf74f15972647e5f extension_name: quack duckdb-stable-deploy: @@ -25,6 +25,6 @@ jobs: uses: ./.github/workflows/_extension_deploy.yml secrets: inherit with: - duckdb_version: v0.10.2 + duckdb_version: 7bcf6b05c37094c1e95fcb68bf74f15972647e5f extension_name: quack deploy_latest: ${{ startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/main' }} diff --git a/duckdb b/duckdb index 1601d94..7bcf6b0 160000 --- a/duckdb +++ b/duckdb @@ -1 +1 @@ -Subproject commit 1601d94f94a7e0d2eb805a94803eb1e3afbbe4ed +Subproject commit 7bcf6b05c37094c1e95fcb68bf74f15972647e5f diff --git a/extension-ci-tools b/extension-ci-tools index 54facfe..da0b859 160000 --- a/extension-ci-tools +++ b/extension-ci-tools @@ -1 +1 @@ -Subproject commit 54facfe2ceb9a6c3e7e12954490652a41837c2d8 +Subproject commit da0b8597f5cdc3b899451d3ac1aa47eabfac4e07 From 38efa5e77a9f96dd7827a9ab3064b9a817c808b6 Mon Sep 17 00:00:00 2001 From: Carlo Piovesan Date: Tue, 21 May 2024 11:42:20 +0200 Subject: [PATCH 02/12] Move quack to community extensions key --- .github/workflows/_extension_deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/_extension_deploy.yml b/.github/workflows/_extension_deploy.yml index c408f90..234ece5 100644 --- a/.github/workflows/_extension_deploy.yml +++ b/.github/workflows/_extension_deploy.yml @@ -105,7 +105,7 @@ jobs: AWS_SECRET_ACCESS_KEY: ${{ secrets.S3_DEPLOY_KEY }} AWS_DEFAULT_REGION: ${{ secrets.S3_REGION }} BUCKET_NAME: ${{ secrets.S3_BUCKET }} - DUCKDB_EXTENSION_SIGNING_PK: ${{ secrets.S3_DUCKDB_ORG_EXTENSION_SIGNING_PK }} + DUCKDB_EXTENSION_SIGNING_PK: ${{ secrets.S3_DUCKDB_ORG_COMMUNITY_SIGNING_PK }} run: | pwd python3 -m pip install pip awscli From 8c3e84574ffec86479b5bbbc34a8e496d97cc28d Mon Sep 17 00:00:00 2001 From: Carlo Piovesan Date: Tue, 21 May 2024 11:47:15 +0200 Subject: [PATCH 03/12] Add version information --- src/include/quack_extension.hpp | 1 + src/quack_extension.cpp | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/src/include/quack_extension.hpp b/src/include/quack_extension.hpp index ac9f504..494467b 100644 --- a/src/include/quack_extension.hpp +++ b/src/include/quack_extension.hpp @@ -8,6 +8,7 @@ class QuackExtension : public Extension { public: void Load(DuckDB &db) override; std::string Name() override; + std::string Version() const override; }; } // namespace duckdb diff --git a/src/quack_extension.cpp b/src/quack_extension.cpp index 4fdad78..468b2e2 100644 --- a/src/quack_extension.cpp +++ b/src/quack_extension.cpp @@ -51,6 +51,14 @@ std::string QuackExtension::Name() { return "quack"; } +std::string QuackExtension::Version() const { +#ifdef EXT_VERSION_QUACK + return EXT_VERSION_QUACK; +#else + return ""; +#endif +} + } // namespace duckdb extern "C" { From 1aa62b18b7c9158140532e616de1c4f20cf4369c Mon Sep 17 00:00:00 2001 From: Carlo Piovesan Date: Tue, 21 May 2024 17:49:44 +0200 Subject: [PATCH 04/12] Bump also extension-template-ci to main --- .github/workflows/MainDistributionPipeline.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/MainDistributionPipeline.yml b/.github/workflows/MainDistributionPipeline.yml index f11685a..52cb250 100644 --- a/.github/workflows/MainDistributionPipeline.yml +++ b/.github/workflows/MainDistributionPipeline.yml @@ -14,7 +14,7 @@ concurrency: jobs: duckdb-stable-build: name: Build extension binaries - uses: duckdb/extension-ci-tools/.github/workflows/_extension_distribution.yml@v0.10.2 + uses: duckdb/extension-ci-tools/.github/workflows/_extension_distribution.yml@main with: duckdb_version: 7bcf6b05c37094c1e95fcb68bf74f15972647e5f extension_name: quack From 29b6b0c34b0453dd0be26d3236735f2502f77a0a Mon Sep 17 00:00:00 2001 From: Carlo Piovesan Date: Tue, 21 May 2024 21:26:24 +0200 Subject: [PATCH 05/12] Fixup extension-upload --- scripts/extension-upload.sh | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/scripts/extension-upload.sh b/scripts/extension-upload.sh index 9fd5b39..7c6c5c0 100755 --- a/scripts/extension-upload.sh +++ b/scripts/extension-upload.sh @@ -42,17 +42,19 @@ if [[ $4 == wasm* ]]; then echo -n -e '\x80\x02' >> $ext.append fi +( command -v truncate && truncate -s -256 $ext.append ) || ( command -v gtruncate && gtruncate -s -256 $ext.append ) || exit 1 + # (Optionally) Sign binary if [ "$DUCKDB_EXTENSION_SIGNING_PK" != "" ]; then echo "$DUCKDB_EXTENSION_SIGNING_PK" > private.pem $script_dir/../duckdb/scripts/compute-extension-hash.sh $ext.append > $ext.hash openssl pkeyutl -sign -in $ext.hash -inkey private.pem -pkeyopt digest:sha256 -out $ext.sign rm -f private.pem +else + # Default to 256 zeros + dd if=/dev/zero of=$ext.sign bs=256 count=1 fi -# Signature is always there, potentially defaulting to 256 zeros -truncate -s 256 $ext.sign - # append signature to extension binary cat $ext.sign >> $ext.append From 99a4c932f2793e9eb1c5a8e2dba13a0d3be037be Mon Sep 17 00:00:00 2001 From: Carlo Piovesan Date: Tue, 21 May 2024 21:28:07 +0200 Subject: [PATCH 06/12] Move to f12d6d2dc90bc7316c4e0a040abfa7fa1dea2c6c --- .github/workflows/MainDistributionPipeline.yml | 4 ++-- duckdb | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/MainDistributionPipeline.yml b/.github/workflows/MainDistributionPipeline.yml index 52cb250..dcd977b 100644 --- a/.github/workflows/MainDistributionPipeline.yml +++ b/.github/workflows/MainDistributionPipeline.yml @@ -16,7 +16,7 @@ jobs: name: Build extension binaries uses: duckdb/extension-ci-tools/.github/workflows/_extension_distribution.yml@main with: - duckdb_version: 7bcf6b05c37094c1e95fcb68bf74f15972647e5f + duckdb_version: f12d6d2dc90bc7316c4e0a040abfa7fa1dea2c6c extension_name: quack duckdb-stable-deploy: @@ -25,6 +25,6 @@ jobs: uses: ./.github/workflows/_extension_deploy.yml secrets: inherit with: - duckdb_version: 7bcf6b05c37094c1e95fcb68bf74f15972647e5f + duckdb_version: f12d6d2dc90bc7316c4e0a040abfa7fa1dea2c6c extension_name: quack deploy_latest: ${{ startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/main' }} diff --git a/duckdb b/duckdb index 7bcf6b0..f12d6d2 160000 --- a/duckdb +++ b/duckdb @@ -1 +1 @@ -Subproject commit 7bcf6b05c37094c1e95fcb68bf74f15972647e5f +Subproject commit f12d6d2dc90bc7316c4e0a040abfa7fa1dea2c6c From c335cbbc5a6a5cf8b723d9b87ee9aaa04a0913e1 Mon Sep 17 00:00:00 2001 From: Carlo Piovesan Date: Tue, 21 May 2024 21:47:49 +0200 Subject: [PATCH 07/12] fix --- .github/workflows/_extension_deploy.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/_extension_deploy.yml b/.github/workflows/_extension_deploy.yml index 234ece5..1d9e705 100644 --- a/.github/workflows/_extension_deploy.yml +++ b/.github/workflows/_extension_deploy.yml @@ -119,3 +119,9 @@ jobs: export EXT_VERSION=`git tag --points-at HEAD` export EXT_VERSION=${EXT_VERSION:=`git log -1 --format=%h`} ${{ inputs.deploy_script }} ${{ inputs.extension_name }} $EXT_VERSION $DUCKDB_VERSION ${{ matrix.duckdb_arch }} $BUCKET_NAME ${{inputs.deploy_latest || 'true' && 'false'}} ${{inputs.deploy_versioned || 'true' && 'false'}} + + - uses: actions/upload-artifact@v3 + with: + name: ${{ inputs.extension_name }}-${{ inputs.duckdb_version }}-extension-${{matrix.duckdb_arch}}${{inputs.artifact_postfix}}2 + path: | + build/**/${{ inputs.extension_name }}.duckdb_extension From 96b0c5caad644205bddb1bebf606adadddf8c996 Mon Sep 17 00:00:00 2001 From: Carlo Piovesan Date: Tue, 21 May 2024 21:50:16 +0200 Subject: [PATCH 08/12] Exclude a bunch of arches --- .github/workflows/MainDistributionPipeline.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/MainDistributionPipeline.yml b/.github/workflows/MainDistributionPipeline.yml index dcd977b..31402ce 100644 --- a/.github/workflows/MainDistributionPipeline.yml +++ b/.github/workflows/MainDistributionPipeline.yml @@ -18,6 +18,7 @@ jobs: with: duckdb_version: f12d6d2dc90bc7316c4e0a040abfa7fa1dea2c6c extension_name: quack + exclude_archs: 'windows_amd64;windows_amd64_rtools;linux_amd64;linux_arm64;wasm_threads;wasm_mvp' duckdb-stable-deploy: name: Deploy extension binaries @@ -25,6 +26,7 @@ jobs: uses: ./.github/workflows/_extension_deploy.yml secrets: inherit with: + exclude_archs: 'windows_amd64;windows_amd64_rtools;linux_amd64;linux_arm64;wasm_threads;wasm_mvp' duckdb_version: f12d6d2dc90bc7316c4e0a040abfa7fa1dea2c6c extension_name: quack deploy_latest: ${{ startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/main' }} From a55f228422d7586fc388ed0bc0fdcd1cfb316d58 Mon Sep 17 00:00:00 2001 From: Carlo Piovesan Date: Tue, 21 May 2024 22:33:26 +0200 Subject: [PATCH 09/12] test --- .github/workflows/_extension_deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/_extension_deploy.yml b/.github/workflows/_extension_deploy.yml index 1d9e705..ce47967 100644 --- a/.github/workflows/_extension_deploy.yml +++ b/.github/workflows/_extension_deploy.yml @@ -22,7 +22,7 @@ on: exclude_archs: required: false type: string - default: "" + default: "windows_amd64;windows_amd64_rtools;linux_amd64;linux_arm64;wasm_threads;wasm_mvp" # Whether to upload this deployment as the latest. This may overwrite a previous deployment. deploy_latest: required: false From f7b73361a726d1809eed758f80f867452a135c40 Mon Sep 17 00:00:00 2001 From: Carlo Piovesan Date: Tue, 21 May 2024 22:46:14 +0200 Subject: [PATCH 10/12] f --- .github/workflows/MainDistributionPipeline.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/MainDistributionPipeline.yml b/.github/workflows/MainDistributionPipeline.yml index 31402ce..49471f5 100644 --- a/.github/workflows/MainDistributionPipeline.yml +++ b/.github/workflows/MainDistributionPipeline.yml @@ -18,7 +18,7 @@ jobs: with: duckdb_version: f12d6d2dc90bc7316c4e0a040abfa7fa1dea2c6c extension_name: quack - exclude_archs: 'windows_amd64;windows_amd64_rtools;linux_amd64;linux_arm64;wasm_threads;wasm_mvp' + exclude_archs: 'windows_amd64;windows_amd64_rtools;linux_amd64;linux_arm64;wasm_threads;wasm_mvp;wasm_eh' duckdb-stable-deploy: name: Deploy extension binaries @@ -26,7 +26,7 @@ jobs: uses: ./.github/workflows/_extension_deploy.yml secrets: inherit with: - exclude_archs: 'windows_amd64;windows_amd64_rtools;linux_amd64;linux_arm64;wasm_threads;wasm_mvp' + exclude_archs: 'windows_amd64;windows_amd64_rtools;linux_amd64;linux_arm64;wasm_threads;wasm_mvp;wasm_eh' duckdb_version: f12d6d2dc90bc7316c4e0a040abfa7fa1dea2c6c extension_name: quack deploy_latest: ${{ startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/main' }} From 73f8f40fa8024481b0fa129e31aeca2bb70c5262 Mon Sep 17 00:00:00 2001 From: Carlo Piovesan Date: Tue, 21 May 2024 23:00:38 +0200 Subject: [PATCH 11/12] tmp --- .github/workflows/_extension_deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/_extension_deploy.yml b/.github/workflows/_extension_deploy.yml index ce47967..95d4ce2 100644 --- a/.github/workflows/_extension_deploy.yml +++ b/.github/workflows/_extension_deploy.yml @@ -124,4 +124,4 @@ jobs: with: name: ${{ inputs.extension_name }}-${{ inputs.duckdb_version }}-extension-${{matrix.duckdb_arch}}${{inputs.artifact_postfix}}2 path: | - build/**/${{ inputs.extension_name }}.duckdb_extension + /tmp/extension/${{ inputs.extension_name }}.duckdb_extension From 8f6e9656fb706ef87360025fba9b4780ea97aa84 Mon Sep 17 00:00:00 2001 From: Carlo Piovesan Date: Wed, 22 May 2024 05:44:13 +0200 Subject: [PATCH 12/12] more test --- .github/workflows/_extension_deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/_extension_deploy.yml b/.github/workflows/_extension_deploy.yml index 95d4ce2..b4b5ade 100644 --- a/.github/workflows/_extension_deploy.yml +++ b/.github/workflows/_extension_deploy.yml @@ -124,4 +124,4 @@ jobs: with: name: ${{ inputs.extension_name }}-${{ inputs.duckdb_version }}-extension-${{matrix.duckdb_arch}}${{inputs.artifact_postfix}}2 path: | - /tmp/extension/${{ inputs.extension_name }}.duckdb_extension + /tmp/extension/${{ inputs.extension_name }}.duckdb_extension.*