Per-worker proxy threads for UDF callbacks (#1136) #55
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |