refactor: fix extracted_statements.c naming to follow HACKING.md conventions #2896
Workflow file for this run
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: MacOS | |
| permissions: | |
| contents: read | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| types: | |
| - opened | |
| - synchronize | |
| - reopened | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| test: | |
| runs-on: macos-latest | |
| timeout-minutes: 120 | |
| strategy: | |
| matrix: | |
| ruby: ['3.2.11', '3.3.11', '3.4.9', '4.0.2', 'head'] | |
| duckdb: ['1.4.4', '1.5.2'] | |
| 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-osx-universal | |
| key: ${{ runner.os }}-duckdb-v${{ matrix.duckdb }} | |
| - name: Download duckdb ${{ matrix.duckdb }} | |
| if: steps.duckdb-cache.outputs.cache-hit != 'true' | |
| env: | |
| DUCKDB_VERSION: ${{ matrix.duckdb }} | |
| run: | | |
| curl -OL https://github.com/duckdb/duckdb/releases/download/v${DUCKDB_VERSION}/libduckdb-osx-universal.zip | |
| case "${DUCKDB_VERSION}" in | |
| "1.5.2") EXPECTED_SHA256="524f3537330a1b747556a0c98b62a46865a3f48c7ead2b2035c62f1ad3e5ca8b" ;; | |
| "1.4.4") EXPECTED_SHA256="5e6d79f5fb86bbd4f24d59cee3bc38f113d1433761df35337e3c01c62eeafe26" ;; | |
| *) echo "No known SHA256 for DuckDB v${DUCKDB_VERSION}"; exit 1 ;; | |
| esac | |
| echo "${EXPECTED_SHA256} libduckdb-osx-universal.zip" | shasum -a 256 -c | |
| mkdir libduckdb-osx-universal | |
| unzip libduckdb-osx-universal.zip -d libduckdb-osx-universal | |
| - name: Build with Ruby ${{ matrix.ruby }} | |
| run: | | |
| bundle exec rake build -- --with-duckdb-include=${GITHUB_WORKSPACE}/libduckdb-osx-universal --with-duckdb-lib=${GITHUB_WORKSPACE}/libduckdb-osx-universal | |
| - name: Setup MySQL | |
| run: | | |
| brew install mysql | |
| brew services start mysql | |
| sleep 5 | |
| mysql -u root -e "CREATE DATABASE test_db;" | |
| mysql -u root -e "CREATE USER 'test_user'@'127.0.0.1' IDENTIFIED BY 'test_password';" | |
| mysql -u root -e "GRANT ALL PRIVILEGES ON test_db.* TO 'test_user'@'127.0.0.1';" | |
| mysql -u root -e "FLUSH PRIVILEGES;" | |
| - name: confirm duckdb library version | |
| env: | |
| EXPECTED_DUCKDB_VERSION: ${{ matrix.duckdb }} | |
| DYLD_LIBRARY_PATH: ${{ github.workspace }}/libduckdb-osx-universal | |
| run: | | |
| ruby -Ilib -rduckdb -e ' | |
| actual = DuckDB::LIBRARY_VERSION | |
| expected = ENV.fetch("EXPECTED_DUCKDB_VERSION") | |
| abort("Expected DuckDB #{expected}, got #{actual}") if actual != expected | |
| puts "duckdb library #{actual}" | |
| ' | |
| - name: test with Ruby ${{ matrix.ruby }} | |
| env: | |
| MYSQL_TEST: 1 | |
| DYLD_LIBRARY_PATH: ${{ github.workspace }}/libduckdb-osx-universal | |
| run: | | |
| env RUBYOPT=-W:deprecated bundle exec rake test | |
| post-test: | |
| name: All tests passed on macos | |
| runs-on: macos-latest | |
| needs: test | |
| steps: | |
| - run: echo ok |