Skip to content

Per-worker proxy threads for UDF callbacks (#1136) #55

Per-worker proxy threads for UDF callbacks (#1136)

Per-worker proxy threads for UDF callbacks (#1136) #55

name: Windows
on:
push:
branches:
- main
pull_request:
types:
- opened
- synchronize
- reopened
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
test:
runs-on: windows-latest
timeout-minutes: 8
strategy:
fail-fast: false
matrix:
ruby: ['3.3.10', '3.4.8', '4.0.5', 'ucrt', 'mingw', 'mswin', 'head']
duckdb: ['1.4.4', '1.5.3']
env:
# Released Bundler is broken on ruby-head due to ruby/ruby#16895.
# Use Ruby's bundled Bundler until rubygems/rubygems#9529 is released.
BUNDLER_VERSION: ${{ (matrix.ruby == 'head' || matrix.ruby == 'ucrt' || matrix.ruby == 'mswin') && '0' || '' }}
steps:
- uses: actions/checkout@v4
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: true
- name: duckdb cache
id: duckdb-cache
uses: actions/cache@v4
with:
path: libduckdb-windows-amd64
key: ${{ runner.os }}-duckdb-v${{ matrix.duckdb }}
- name: download duckdb binary for windows 64bit
if: steps.duckdb-cache.outputs.cache-hit != 'true'
env:
DUCKDB_VERSION: ${{ matrix.duckdb }}
run: |
curl -OL https://github.com/duckdb/duckdb/releases/download/v${env:DUCKDB_VERSION}/libduckdb-windows-amd64.zip
mkdir libduckdb-windows-amd64
unzip libduckdb-windows-amd64.zip -d libduckdb-windows-amd64
- name: setup duckdb.dll
run: |
cp libduckdb-windows-amd64/duckdb.dll C:/Windows/System32/
- name: Build with Rake with Ruby ${{ matrix.ruby }}
run: |
bundle exec rake build -- --with-duckdb-include=../../../../libduckdb-windows-amd64 --with-duckdb-lib=../../../../libduckdb-windows-amd64
- name: rake test
uses: nick-fields/retry@v3
with:
timeout_minutes: 1
max_attempts: 1
command: bundle exec rake test TESTOPTS="--verbose"
post-test:
name: All tests passed on Windows
runs-on: windows-latest
needs: test
steps:
- run: echo ok