Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR aims to make calling the
.github/workflows/_extension_distribution.yml
workflow a little more predictable. It also fixes the CI failures that will happen whenever trying to build an extension on an old extension_ci_tools submodule after #79.What this means is that all extension will now be required to pass both a
duckdb_version
and aci_tools_version
. These will in most cases contain the same value (the tag of the latest stable release of duckdb ormain
).The reason we need this is because we want to checkout the
extension_ci_tools
submodule of the extension to the version of the called workflow. So for example in the following invocation of_extension_distribution.yml
:What we would like to do automatically is to checkout the
extension_ci_tools
submodule to thev1.1.0
tag that we pass to the workflow. However, due to actions/toolkit#1264, this is actually ***ing difficult.There are a few solutions here but all of them seem evil. The most sane way in my (and @carlopi's) opinion is to require explicitly passing the version as another tag, making it so that you need to pass the version 3(!) times:
We have considered creating a single
target_version
input parameter but while nice in most cases, this seems confusing whenever you want to build for a specific commit of duckdb. Making everything explicit is the most clear and even though its ugly, its at least somewhat clear whats going on.