Skip to content

Handle qualified AGGREGATE #71

Handle qualified AGGREGATE

Handle qualified AGGREGATE #71

#
# Build, test and (optionally) release the extension
#
name: Main Extension Distribution Pipeline
on:
push:
pull_request:
workflow_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:
build:
name: Build (${{ matrix.duckdb_arch }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-latest
duckdb_arch: linux_amd64
rust_target: x86_64-unknown-linux-gnu
- os: macos-14
duckdb_arch: osx_amd64
rust_target: x86_64-apple-darwin
osx_build_arch: x86_64
- os: macos-14
duckdb_arch: osx_arm64
rust_target: aarch64-apple-darwin
osx_build_arch: arm64
- os: windows-latest
duckdb_arch: windows_amd64
rust_target: x86_64-pc-windows-msvc
env:
OSX_BUILD_ARCH: ${{ matrix.osx_build_arch }}
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
fetch-depth: 0
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with:
targets: ${{ matrix.rust_target }}
- name: Build extension (Unix)
if: runner.os != 'Windows'
run: make release
- name: Build extension (Windows)
if: runner.os == 'Windows'
shell: bash
run: |
cd yardstick-rs && cargo build --release
cd ..
mkdir -p build/release
cd build/release
cmake -G "Visual Studio 17 2022" -A x64 -DCMAKE_BUILD_TYPE=Release ../..
cmake --build . --config Release
- name: Test extension
if: matrix.osx_build_arch != 'x86_64' && runner.os != 'Windows'
run: make test
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: yardstick-${{ matrix.duckdb_arch }}
path: build/release/extension/yardstick/yardstick.duckdb_extension