1919 type : boolean
2020 required : false
2121 default : true
22+ opt_in_archs :
23+ type : string
24+ required : false
25+ default : ' '
2226 workflow_dispatch :
2327 inputs :
2428 override_git_describe :
3438 type : string
3539 required : false
3640 default : ' '
41+ opt_in_archs :
42+ description : ' Semicolon-separated list of architectures to opt into'
43+ type : string
44+ required : false
45+ default : ' windows_arm64;'
3746 skip_tests :
3847 description : ' Set to true to skip all testing'
3948 type : boolean
96105 outputs :
97106 main_extensions_config : ${{ steps.set-main-extensions.outputs.extension_config }}
98107 main_extensions_exclude_archs : ${{ steps.set-main-extensions.outputs.exclude_archs }}
108+ main_extensions_opt_in_archs : ${{ steps.set-main-extensions.outputs.opt_in_archs }}
99109 rust_based_extensions_config : ${{ steps.set-rust-based-extensions.outputs.extension_config }}
100110 rust_based_extensions_exclude_archs : ${{ steps.set-rust-based-extensions.outputs.exclude_archs }}
101111 external_extensions_config : ${{ steps.set-external-extensions.outputs.extension_config }}
@@ -105,6 +115,7 @@ jobs:
105115 # NOTE: on PRs we exclude some archs to speed things up
106116 BASE_EXCLUDE_ARCHS : ${{ (github.event_name == 'pull_request' || inputs.run_all != 'true') && 'wasm_mvp;wasm_threads;windows_amd64_mingw;osx_amd64;linux_arm64;linux_amd64_musl;' || '' }}
107117 EXTRA_EXCLUDE_ARCHS : ${{ inputs.extra_exclude_archs }}
118+ OPT_IN_ARCHS : ${{ inputs.opt_in_archs }}
108119 steps :
109120 - uses : actions/checkout@v4
110121 with :
@@ -120,6 +131,7 @@ jobs:
120131 run : |
121132 # Set config
122133 echo exclude_archs="$DEFAULT_EXCLUDE_ARCHS;$BASE_EXCLUDE_ARCHS;$EXTRA_EXCLUDE_ARCHS" >> $GITHUB_OUTPUT
134+ echo opt_in_archs="$OPT_IN_ARCHS" >> $GITHUB_OUTPUT
123135 in_tree_extensions="`cat $IN_TREE_CONFIG_FILE`"
124136 out_of_tree_extensions="`cat $OUT_OF_TREE_CONFIG_FILE`"
125137 echo "extension_config<<EOF" >> $GITHUB_OUTPUT
@@ -164,6 +176,7 @@ jobs:
164176 with :
165177 artifact_prefix : main-extensions
166178 exclude_archs : ${{ needs.load-extension-configs.outputs.main_extensions_exclude_archs }}
179+ opt_in_archs : ${{ needs.load-extension-configs.outputs.main_extensions_opt_in_archs }}
167180 extension_config : ${{ needs.load-extension-configs.outputs.main_extensions_config }}
168181 override_tag : ${{ inputs.override_git_describe }}
169182 override_duckdb_version : ${{ inputs.git_ref }}
@@ -215,22 +228,24 @@ jobs:
215228 with :
216229 fetch-depth : 0
217230
231+ - uses : ./.github/actions/cleanup_runner
232+
218233 - uses : actions/download-artifact@v4
219234 name : Download main extensions
220235 with :
221- pattern : main-extensions-${{ github.sha }} *
236+ pattern : main-extensions*
222237 path : /tmp/repository_generation/main-extensions
223238
224239 - uses : actions/download-artifact@v4
225240 name : Download rust-based extensions
226241 with :
227- pattern : rust-based-extensions-${{ github.sha }} *
242+ pattern : rust-based-extensions*
228243 path : /tmp/repository_generation/rust-based-extensions
229244
230245 - uses : actions/download-artifact@v4
231246 name : Download external extensions
232247 with :
233- pattern : external-extensions-${{ github.sha }} *
248+ pattern : external-extensions*
234249 path : /tmp/repository_generation/external-extensions
235250
236251 - name : Print all extensions
@@ -246,7 +261,7 @@ jobs:
246261 - uses : actions/upload-artifact@v4
247262 with :
248263 if-no-files-found : error
249- name : extension-repository-${{ github.sha }}
264+ name : extension-repository
250265 path : |
251266 /tmp/merged_repository/**/*.duckdb_extension*
252267
@@ -266,13 +281,13 @@ jobs:
266281
267282 - uses : actions/download-artifact@v4
268283 with :
269- pattern : extension-repository-${{ github.sha }}
284+ pattern : extension-repository
270285 path : /tmp
271286
272287 - name : List extensions to deploy
273288 shell : bash
274289 run : |
275- tree /tmp/extension-repository-${{ github.sha }}
290+ tree /tmp/extension-repository
276291
277292 - name : Deploy extensions
278293 shell : bash
@@ -284,7 +299,7 @@ jobs:
284299 DUCKDB_EXTENSION_SIGNING_PK : ${{ secrets.DUCKDB_EXTENSION_SIGNING_PK }}
285300 run : |
286301 pip install awscli
287- ./scripts/extension-upload-repository.sh /tmp/extension-repository-${{ github.sha }}
302+ ./scripts/extension-upload-repository.sh /tmp/extension-repository
288303
289304 autoload-tests :
290305 name : Extension Autoloading Tests
@@ -311,13 +326,13 @@ jobs:
311326
312327 - uses : actions/download-artifact@v4
313328 with :
314- pattern : extension-repository-${{ github.sha }}
329+ pattern : extension-repository
315330 path : /tmp
316331
317332 - name : List extensions to test with
318333 shell : bash
319334 run : |
320- tree /tmp/extension-repository-${{ github.sha }}
335+ tree /tmp/extension-repository
321336
322337 - name : Build DuckDB
323338 env :
@@ -333,7 +348,7 @@ jobs:
333348
334349 - name : Run Tests
335350 env :
336- LOCAL_EXTENSION_REPO : /tmp/extension-repository-${{ github.sha }}
351+ LOCAL_EXTENSION_REPO : /tmp/extension-repository
337352 run : |
338353 ./build/release/test/unittest --autoloading available --skip-compiled
339354
@@ -378,13 +393,13 @@ jobs:
378393 - uses : actions/download-artifact@v4
379394 name : Download extension repository artifact
380395 with :
381- pattern : extension-repository-${{ github.sha }}
396+ pattern : extension-repository
382397 path : /tmp
383398
384399 - name : Copy over local extension repository
385400 shell : bash
386401 run : |
387- cp -r /tmp/extension-repository-${{ github.sha }} build/release/repository
402+ cp -r /tmp/extension-repository build/release/repository
388403 tree build/release/repository
389404 find build/release/repository -type f ! -path "build/release/repository/*/linux_amd64/*" -delete
390405 tree build/release/repository
0 commit comments