diff --git a/.github/workflows/ExtensionTemplate.yml b/.github/workflows/ExtensionTemplate.yml deleted file mode 100644 index a5aeb88..0000000 --- a/.github/workflows/ExtensionTemplate.yml +++ /dev/null @@ -1,162 +0,0 @@ -# -# NOTE: this workflow is for testing the extension template itself, -# this workflow will be removed when scripts/bootstrap-template.py is run -# -name: Extension Template -on: [push, pull_request,repository_dispatch] -concurrency: - group: ${{ github.workflow }}-${{ github.ref }}-${{ github.head_ref || '' }}-${{ github.base_ref || '' }}-${{ github.ref != 'refs/heads/main' || github.sha }} - cancel-in-progress: true - -jobs: - linux: - name: Linux - if: ${{ vars.RUN_RENAME_TEST == 'true' || github.repository == 'duckdb/extension-template' }} - runs-on: ubuntu-latest - strategy: - matrix: - # Add commits/tags to build against other DuckDB versions - duckdb_version: [ '' ] - env: - VCPKG_TOOLCHAIN_PATH: ${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake - VCPKG_TARGET_TRIPLET: 'x64-linux' - GEN: ninja - ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true - defaults: - run: - shell: bash - - steps: - - name: Install Ninja - shell: bash - run: sudo apt-get update -y -qq && sudo apt-get install -y -qq ninja-build - - - uses: actions/checkout@v6 - with: - fetch-depth: 0 - submodules: 'recursive' - - - name: Checkout DuckDB to version - if: ${{ matrix.duckdb_version != ''}} - run: | - cd duckdb - git checkout ${{ matrix.duckdb_version }} - - - name: Setup vcpkg - uses: lukka/run-vcpkg@v11.6 - with: - vcpkgGitCommitId: 5e5d0e1cd7785623065e77eff011afdeec1a3574 - - - name: Rename extension - run: | - python3 scripts/bootstrap-template.py ext_1_a_123b_b11 - - - name: Build - run: | - make - - - name: Test - run: | - make test - - macos: - name: MacOS - if: ${{ vars.RUN_RENAME_TEST == 'true' || github.repository == 'duckdb/extension-template' }} - runs-on: macos-latest - strategy: - matrix: - # Add commits/tags to build against other DuckDB versions - duckdb_version: [ ''] - env: - VCPKG_TOOLCHAIN_PATH: ${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake - VCPKG_TARGET_TRIPLET: 'x64-osx' - OSX_BUILD_ARCH: 'x86_64' - GEN: ninja - defaults: - run: - shell: bash - - steps: - - uses: actions/checkout@v6 - with: - fetch-depth: 0 - submodules: 'recursive' - - - name: Install Ninja - run: brew install ninja - - - uses: actions/setup-python@v6 - with: - python-version: '3.14' - - - name: Checkout DuckDB to version - if: ${{ matrix.duckdb_version != ''}} - run: | - cd duckdb - git checkout ${{ matrix.duckdb_version }} - - - name: Setup vcpkg - uses: lukka/run-vcpkg@v11.6 - with: - vcpkgGitCommitId: 5e5d0e1cd7785623065e77eff011afdeec1a3574 - - - name: Rename extension - run: | - python scripts/bootstrap-template.py ext_1_a_123b_b11 - - - name: Build - run: | - make - - - name: Test - run: | - make test - - windows: - name: Windows - if: ${{ vars.RUN_RENAME_TEST == 'true' || github.repository == 'duckdb/extension-template' }} - runs-on: windows-latest - strategy: - matrix: - # Add commits/tags to build against other DuckDB versions - duckdb_version: [ '' ] - env: - VCPKG_TOOLCHAIN_PATH: ${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake - VCPKG_TARGET_TRIPLET: 'x64-windows-static-md' - defaults: - run: - shell: bash - - steps: - - uses: actions/checkout@v6 - with: - fetch-depth: 0 - submodules: 'recursive' - - - uses: actions/setup-python@v6 - with: - python-version: '3.14' - - - name: Checkout DuckDB to version - # Add commits/tags to build against other DuckDB versions - if: ${{ matrix.duckdb_version != ''}} - run: | - cd duckdb - git checkout ${{ matrix.duckdb_version }} - - - name: Setup vcpkg - uses: lukka/run-vcpkg@v11.6 - with: - vcpkgGitCommitId: 5e5d0e1cd7785623065e77eff011afdeec1a3574 - - - name: Rename extension - run: | - python scripts/bootstrap-template.py ext_1_a_123b_b11 - - - name: Build - run: | - make - - - name: Test extension - run: | - build/release/test/Release/unittest.exe diff --git a/.github/workflows/MainDistributionPipeline.yml b/.github/workflows/MainDistributionPipeline.yml index 158ad6a..662c2ce 100644 --- a/.github/workflows/MainDistributionPipeline.yml +++ b/.github/workflows/MainDistributionPipeline.yml @@ -19,5 +19,5 @@ jobs: ci_tools_version: v1.5.3 duckdb_version: v1.5.3 extension_name: vortex - exclude_archs: "wasm_mvp;wasm_eh;wasm_threads;windows_amd64_rtools;windows_amd64_mingw;windows_amd64;linux_amd64_musl" + exclude_archs: "wasm_mvp;wasm_eh;wasm_threads;windows_amd64;windows_amd64_mingw;windows_amd64_rtools;windows_arm64;linux_amd64_musl" extra_toolchains: "rust" diff --git a/CMakeLists.txt b/CMakeLists.txt index b2206b0..930d0fc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -88,7 +88,13 @@ set(LOADABLE_EXTENSION_NAME ${TARGET_NAME}_loadable_extension) build_static_extension(${TARGET_NAME} src/vortex_extension.cpp) build_loadable_extension(${TARGET_NAME} "" src/vortex_extension.cpp) -set(VORTEX_WARNING_FLAGS -Wall -Wextra -Wpedantic) +# MSVC's `cl` does not understand the GCC/Clang warning flags, so use the +# equivalent high warning level there instead of dropping warnings entirely. +if(MSVC) + set(VORTEX_WARNING_FLAGS /W4) +else() + set(VORTEX_WARNING_FLAGS -Wall -Wextra -Wpedantic) +endif() target_compile_options(${EXTENSION_NAME} PRIVATE ${VORTEX_WARNING_FLAGS}) target_link_libraries(${EXTENSION_NAME}