Release
DuckDB Finance releases are tag-driven. Development lands on main; when main
is ready, create a semantic version tag from that commit.
The current release line is 0.2.x. Patch releases should keep the public SQL
surface backward-compatible unless the release notes explicitly call out a
breaking change.
Maintainer Flow
- Make sure
mainis green. - Confirm
community-extension/description.ymlhas the targetextension.version. -
Confirm the local checkout is exactly on
origin/main:git switch main git pull --ff-only origin main git status --short --branch -
Run the local static and DuckDB-backed checks:
make ci DUCKDB_ROOT=/path/to/duckdb -
Validate the release metadata for the intended tag:
python3 scripts/check_release_metadata.py --tag v0.2.1 -
Tag the current
maincommit:git tag v0.2.1 git push origin v0.2.1 - The release workflow validates the tag, builds release artifacts through
DuckDB extension-ci-tools, renders a community extension manifest with
repo.refpinned to the tag commit, and creates the GitHub release. It expects the tagged commit to have already passedmainCI. - Submit the rendered community manifest from the release assets to
duckdb/community-extensionswhen publishing or updating the community catalog entry.
Release Workflow
The workflow is intentionally split:
Validate release metadatachecks the semantic tag and renders the community manifest with the exact tag commit SHA.Build release artifactsuses DuckDB extension-ci-tools to build the platform artifacts.Publish GitHub releaseuploads uniquely named assets and updates an existing release when a tag is rerun.
Release matrix tests are skipped because the tagged commit must already be green
on main. This keeps release publication fast while preserving behavior
coverage in CI.
Community Publication
finance is available from DuckDB Community Extensions. Release assets include
the rendered community manifest so maintainers can update the upstream catalog
entry for new versions.
For each release:
- Confirm
extensions/finance/description.ymlexists induckdb/community-extensions. - Submit the rendered community manifest from the GitHub release assets when updating the community catalog entry.
- Run the manual community install smoke workflow after the upstream catalog update lands.
The community install smoke workflow runs weekly and fails if the upstream catalog entry or install path stops working. It verifies:
INSTALL finance FROM community;
LOAD finance;
and executes examples/community_install_smoke.sql against the downloaded DuckDB
CLI.
Final Audit
After the GitHub release is created, confirm:
gh release view v0.2.1 --json tagName,targetCommitish,url,isDraft,isPrerelease,assets
git rev-parse HEAD
git rev-parse v0.2.1
git ls-remote --tags origin v0.2.1
The rendered community manifest asset should include:
extension.versionmatching the tag without thevprefix;repo.github: leonardovida/duckdb-finance;repo.refpinned to the exact release commit SHA;license: MIT.