Skip to content

Restore #4883

Restore #4883 #2051

name: "QE: driver-adapter integration tests"
on:
push:
branches:
- main
pull_request:
paths-ignore:
- "!.github/workflows/test-query-engine-driver-adapters.yml"
- ".github/**"
- ".buildkite/**"
- "*.md"
- "LICENSE"
- "CODEOWNERS"
- "renovate.json"
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
rust-query-engine-tests:
name: "${{ matrix.adapter.name }} ${{ matrix.partition }}"
strategy:
fail-fast: false
matrix:
adapter:
- name: "planetscale (napi)"
setup_task: "dev-planetscale-js"
- name: "pg (napi)"
setup_task: "dev-pg-js"
- name: "neon (napi)"
setup_task: "dev-neon-js"
- name: "libsql (napi)"
setup_task: "dev-libsql-js"
- name: "planetscale (wasm)"
setup_task: "dev-planetscale-wasm"
- name: "pg (wasm)"
setup_task: "dev-pg-wasm"
- name: "neon (wasm)"
setup_task: "dev-neon-wasm"
- name: "libsql (wasm)"
setup_task: "dev-libsql-wasm"
- name: "d1 (wasm)"
setup_task: "dev-d1"
node_version: ["18"]
partition: ["1/4", "2/4", "3/4", "4/4"]
env:
LOG_LEVEL: "info" # Set to "debug" to trace the query engine and node process running the driver adapter
LOG_QUERIES: "y"
RUST_LOG: "info"
RUST_LOG_FORMAT: "devel"
RUST_BACKTRACE: "1"
CLICOLOR_FORCE: "1"
CLOSED_TX_CLEANUP: "2"
SIMPLE_TEST_MODE: "1"
QUERY_BATCH_SIZE: "10"
WASM_BUILD_PROFILE: "profiling" # Include debug info for proper backtraces
WORKSPACE_ROOT: ${{ github.workspace }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: "Setup Node.js"
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node_version }}
- name: "Setup pnpm"
uses: pnpm/action-setup@v4.0.0
with:
version: 8
- name: "Get pnpm store directory"
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
- name: "Login to Docker Hub"
uses: docker/login-action@v3
continue-on-error: true
env:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
if: "${{ env.DOCKERHUB_USERNAME != '' && env.DOCKERHUB_TOKEN != '' }}"
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Extract Branch Name
id: extract-branch
run: |
branch="$(git show -s --format=%s | grep -o "DRIVER_ADAPTERS_BRANCH=[^ ]*" | cut -f2 -d=)"
if [ -n "$branch" ]; then
echo "Using $branch branch of driver adapters"
echo "DRIVER_ADAPTERS_BRANCH=$branch" >> "$GITHUB_ENV"
fi
- uses: ./.github/workflows/include/rust-wasm-setup
- uses: taiki-e/install-action@nextest
- run: make ${{ matrix.adapter.setup_task }}
- name: "Run tests"
run: cargo nextest run --package query-engine-tests --test-threads=1 --partition hash:${{ matrix.partition }}