Skip to content

feat(query-engine-wasm): vertical slice #212

feat(query-engine-wasm): vertical slice

feat(query-engine-wasm): vertical slice #212

name: Test Driver Adapters
on:
push:
branches:
- main
pull_request:
paths-ignore:
- '.github/**'
- '!.github/workflows/query-engine-driver-adapters.yml'
- '.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 }} on node v${{ matrix.node_version }}'
strategy:
fail-fast: false
matrix:
adapter:
- name: '@prisma/adapter-planetscale'
setup_task: 'dev-planetscale-js'
- name: '@prisma/adapter-pg (napi)'
setup_task: 'dev-pg-js'
- name: '@prisma/adapter-neon (ws) (napi)'
setup_task: 'dev-neon-js'
- name: '@prisma/adapter-libsql (Turso) (napi)'
setup_task: 'dev-libsql-js'
- name: '@prisma/adapter-planetscale'
setup_task: 'dev-planetscale-wasm'
needs_wasm_pack: true
- name: '@prisma/adapter-pg (wasm)'
setup_task: 'dev-pg-wasm'
needs_wasm_pack: true
- name: '@prisma/adapter-neon (ws) (wasm)'
setup_task: 'dev-neon-wasm'
needs_wasm_pack: true
- name: '@prisma/adapter-libsql (Turso) (wasm)'
setup_task: 'dev-libsql-wasm'
needs_wasm_pack: true
node_version: ['18']
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'
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@v2
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: dtolnay/rust-toolchain@stable
- name: 'Install wasm-pack'
if: ${{ matrix.adapter.needs_wasm_pack }}
run: cargo install wasm-pack
- run: make ${{ matrix.adapter.setup_task }}
- name: 'Run tests'
run: cargo test --package query-engine-tests -- --test-threads=1