Skip to content

Commit 22333e6

Browse files
VGSMLclaude
andcommitted
fix: Update CI to DuckDB v1.4.4 and use explicit extension version
- Update all CI artifact references from v1.4.3 to v1.4.4 - Add MSSQL_EXTENSION_VERSION in CMakeLists.txt for explicit version control - mssql_version() now returns semantic version (e.g. "0.1.10") instead of git hash - Document versioning workflow in CLAUDE.md Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent 3d1277e commit 22333e6

4 files changed

Lines changed: 36 additions & 27 deletions

File tree

.github/workflows/ci.yml

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -82,19 +82,19 @@ jobs:
8282
steps:
8383
- uses: actions/checkout@v4
8484

85-
- name: Fetch DuckDB v1.4.3
85+
- name: Fetch DuckDB v1.4.4
8686
id: duckdb
8787
run: |
8888
chmod +x scripts/ci/fetch_duckdb.sh
89-
DUCKDB_COMMIT=$(scripts/ci/fetch_duckdb.sh 1.4.3)
89+
DUCKDB_COMMIT=$(scripts/ci/fetch_duckdb.sh 1.4.4)
9090
echo "commit=$DUCKDB_COMMIT" >> $GITHUB_OUTPUT
9191
9292
- name: Log build metadata
9393
run: |
9494
echo "============================================"
9595
echo "Build Metadata"
9696
echo "============================================"
97-
echo "DuckDB Version: v1.4.3"
97+
echo "DuckDB Version: v1.4.4"
9898
echo "DuckDB Commit: ${{ steps.duckdb.outputs.commit }}"
9999
echo "Platform: ${{ matrix.platform.id }}"
100100
echo "Runner: ${{ matrix.platform.runner }}"
@@ -167,14 +167,14 @@ jobs:
167167
- name: Upload Extension Artifact
168168
uses: actions/upload-artifact@v4
169169
with:
170-
name: mssql-extension-v1.4.3-${{ matrix.platform.id }}
170+
name: mssql-extension-v1.4.4-${{ matrix.platform.id }}
171171
path: build/release/extension/mssql/mssql.duckdb_extension
172172
if-no-files-found: error
173173

174174
- name: Upload DuckDB CLI Artifact
175175
uses: actions/upload-artifact@v4
176176
with:
177-
name: duckdb-cli-v1.4.3-${{ matrix.platform.id }}
177+
name: duckdb-cli-v1.4.4-${{ matrix.platform.id }}
178178
path: build/release/duckdb
179179
if-no-files-found: error
180180

@@ -207,13 +207,13 @@ jobs:
207207
- name: Download extension artifact
208208
uses: actions/download-artifact@v4
209209
with:
210-
name: mssql-extension-v1.4.3-${{ matrix.platform.id }}
210+
name: mssql-extension-v1.4.4-${{ matrix.platform.id }}
211211
path: extension
212212

213213
- name: Download DuckDB CLI artifact
214214
uses: actions/download-artifact@v4
215215
with:
216-
name: duckdb-cli-v1.4.3-${{ matrix.platform.id }}
216+
name: duckdb-cli-v1.4.4-${{ matrix.platform.id }}
217217
path: cli
218218

219219
- name: Setup executables
@@ -264,13 +264,13 @@ jobs:
264264
- name: Download extension artifact
265265
uses: actions/download-artifact@v4
266266
with:
267-
name: mssql-extension-v1.4.3-linux_amd64
267+
name: mssql-extension-v1.4.4-linux_amd64
268268
path: extension
269269

270270
- name: Download DuckDB CLI artifact
271271
uses: actions/download-artifact@v4
272272
with:
273-
name: duckdb-cli-v1.4.3-linux_amd64
273+
name: duckdb-cli-v1.4.4-linux_amd64
274274
path: cli
275275

276276
- name: Setup executables
@@ -301,12 +301,12 @@ jobs:
301301
steps:
302302
- uses: actions/checkout@v4
303303

304-
- name: Fetch DuckDB v1.4.3
304+
- name: Fetch DuckDB v1.4.4
305305
id: duckdb
306306
shell: bash
307307
run: |
308308
chmod +x scripts/ci/fetch_duckdb.sh
309-
DUCKDB_COMMIT=$(scripts/ci/fetch_duckdb.sh 1.4.3)
309+
DUCKDB_COMMIT=$(scripts/ci/fetch_duckdb.sh 1.4.4)
310310
echo "commit=$DUCKDB_COMMIT" >> $GITHUB_OUTPUT
311311
312312
- name: Log build metadata
@@ -315,7 +315,7 @@ jobs:
315315
echo "============================================"
316316
echo "Build Metadata"
317317
echo "============================================"
318-
echo "DuckDB Version: v1.4.3"
318+
echo "DuckDB Version: v1.4.4"
319319
echo "DuckDB Commit: ${{ steps.duckdb.outputs.commit }}"
320320
echo "Platform: windows_amd64 (MSVC)"
321321
echo "vcpkg Triplet: x64-windows-static-release"
@@ -361,14 +361,14 @@ jobs:
361361
- name: Upload Extension Artifact
362362
uses: actions/upload-artifact@v4
363363
with:
364-
name: mssql-extension-v1.4.3-windows_amd64_msvc
364+
name: mssql-extension-v1.4.4-windows_amd64_msvc
365365
path: build/release/extension/mssql/mssql.duckdb_extension
366366
if-no-files-found: error
367367

368368
- name: Upload DuckDB CLI Artifact
369369
uses: actions/upload-artifact@v4
370370
with:
371-
name: duckdb-cli-v1.4.3-windows_amd64_msvc
371+
name: duckdb-cli-v1.4.4-windows_amd64_msvc
372372
path: build/release/duckdb.exe
373373
if-no-files-found: error
374374

@@ -388,12 +388,12 @@ jobs:
388388
steps:
389389
- uses: actions/checkout@v4
390390

391-
- name: Fetch DuckDB v1.4.3
391+
- name: Fetch DuckDB v1.4.4
392392
id: duckdb
393393
shell: bash
394394
run: |
395395
chmod +x scripts/ci/fetch_duckdb.sh
396-
DUCKDB_COMMIT=$(scripts/ci/fetch_duckdb.sh 1.4.3)
396+
DUCKDB_COMMIT=$(scripts/ci/fetch_duckdb.sh 1.4.4)
397397
echo "commit=$DUCKDB_COMMIT" >> $GITHUB_OUTPUT
398398
399399
- name: Log build metadata
@@ -402,7 +402,7 @@ jobs:
402402
echo "============================================"
403403
echo "Build Metadata"
404404
echo "============================================"
405-
echo "DuckDB Version: v1.4.3"
405+
echo "DuckDB Version: v1.4.4"
406406
echo "DuckDB Commit: ${{ steps.duckdb.outputs.commit }}"
407407
echo "Platform: windows_amd64 (MinGW)"
408408
echo "vcpkg Triplet: x64-mingw-static"
@@ -459,14 +459,14 @@ jobs:
459459
- name: Upload Extension Artifact
460460
uses: actions/upload-artifact@v4
461461
with:
462-
name: mssql-extension-v1.4.3-windows_amd64_mingw
462+
name: mssql-extension-v1.4.4-windows_amd64_mingw
463463
path: build/release/extension/mssql/mssql.duckdb_extension
464464
if-no-files-found: error
465465

466466
- name: Upload DuckDB CLI Artifact
467467
uses: actions/upload-artifact@v4
468468
with:
469-
name: duckdb-cli-v1.4.3-windows_amd64_mingw
469+
name: duckdb-cli-v1.4.4-windows_amd64_mingw
470470
path: build/release/duckdb.exe
471471
if-no-files-found: error
472472

@@ -494,13 +494,13 @@ jobs:
494494
- name: Download extension artifact
495495
uses: actions/download-artifact@v4
496496
with:
497-
name: mssql-extension-v1.4.3-${{ matrix.config.artifact_suffix }}
497+
name: mssql-extension-v1.4.4-${{ matrix.config.artifact_suffix }}
498498
path: extension
499499

500500
- name: Download DuckDB CLI artifact
501501
uses: actions/download-artifact@v4
502502
with:
503-
name: duckdb-cli-v1.4.3-${{ matrix.config.artifact_suffix }}
503+
name: duckdb-cli-v1.4.4-${{ matrix.config.artifact_suffix }}
504504
path: cli
505505

506506
- name: Run load-only smoke test

CLAUDE.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,12 @@ docs/ # Architecture documentation (see docs/architecture.md)
4141
docker/ # SQL Server container and Linux CI build
4242
```
4343

44+
## Versioning
45+
46+
- The extension version is defined in `CMakeLists.txt` as `MSSQL_EXTENSION_VERSION` (e.g., `set(MSSQL_EXTENSION_VERSION "0.1.10")`)
47+
- This is passed to C++ code via the `MSSQL_VERSION` compile definition and returned by `mssql_version()`
48+
- **When releasing a new version**: update `MSSQL_EXTENSION_VERSION` in `CMakeLists.txt` and `version` in `vcpkg.json`
49+
4450
## Commands
4551

4652
```bash

CMakeLists.txt

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ set(TARGET_NAME mssql)
55
set(EXTENSION_NAME ${TARGET_NAME}_extension)
66
set(LOADABLE_EXTENSION_NAME ${TARGET_NAME}_loadable_extension)
77

8+
# Extension version - update this when creating a new release tag
9+
set(MSSQL_EXTENSION_VERSION "0.1.10")
10+
811
# Project configuration
912
project(${TARGET_NAME})
1013

@@ -149,26 +152,26 @@ build_loadable_extension(${TARGET_NAME} " " ${EXTENSION_SOURCES})
149152
# =============================================================================
150153
# Static Extension Configuration
151154
# =============================================================================
152-
# Note: EXT_VERSION_MSSQL is automatically defined by DuckDB's build system
153-
# via duckdb_extension_generate_version() - do not define it again here.
154155
target_include_directories(${EXTENSION_NAME} PRIVATE
155156
${CMAKE_CURRENT_SOURCE_DIR}/src/include/tds/tls
156157
${OPENSSL_INCLUDE_DIR}
157158
)
158159
target_link_libraries(${EXTENSION_NAME} OpenSSL::SSL OpenSSL::Crypto)
160+
# Extension version (overrides DuckDB's git-hash-based EXT_VERSION_MSSQL)
161+
target_compile_definitions(${EXTENSION_NAME} PRIVATE MSSQL_VERSION="${MSSQL_EXTENSION_VERSION}")
159162

160163
message(STATUS "Static extension configured with full TLS support (OpenSSL)")
161164

162165
# =============================================================================
163166
# Loadable Extension Configuration
164167
# =============================================================================
165-
# Note: EXT_VERSION_MSSQL is automatically defined by DuckDB's build system
166-
# via duckdb_extension_generate_version() - do not define it again here.
167168
target_include_directories(${LOADABLE_EXTENSION_NAME} PRIVATE
168169
${CMAKE_CURRENT_SOURCE_DIR}/src/include/tds/tls
169170
${OPENSSL_INCLUDE_DIR}
170171
)
171172
target_link_libraries(${LOADABLE_EXTENSION_NAME} OpenSSL::SSL OpenSSL::Crypto)
173+
# Extension version (overrides DuckDB's git-hash-based EXT_VERSION_MSSQL)
174+
target_compile_definitions(${LOADABLE_EXTENSION_NAME} PRIVATE MSSQL_VERSION="${MSSQL_EXTENSION_VERSION}")
172175

173176
# Symbol export control - hide all symbols except extension entry point
174177
if(APPLE)

src/mssql_extension.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ namespace duckdb {
1414

1515
// Extension version string
1616
static const char *GetMssqlExtensionVersion() {
17-
#ifdef EXT_VERSION_MSSQL
18-
return EXT_VERSION_MSSQL;
17+
#ifdef MSSQL_VERSION
18+
return MSSQL_VERSION;
1919
#else
2020
return "unknown";
2121
#endif

0 commit comments

Comments
 (0)