query-engine-c-abi: CI build for RN binaries #1839
Workflow file for this run
This file contains 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: "QE: integration tests" | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
paths-ignore: | |
- "!.github/workflows/test-query-engine.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.database.name }} - ${{ matrix.engine_protocol }} ${{ matrix.relation_load_strategy }} ${{ matrix.partition }}" | |
strategy: | |
fail-fast: false | |
matrix: | |
database: | |
- name: "vitess_8_0" | |
single_threaded: true | |
connector: "vitess" | |
version: "8.0" | |
# Arbitrary PostgreSQL version | |
# we opted for the most recent one, there is no need to have a matrix | |
- name: "postgres16" | |
single_threaded: true | |
connector: "postgres" | |
version: "16" | |
- name: "mssql_2022" | |
single_threaded: false | |
connector: "sqlserver" | |
version: "2022" | |
- name: "sqlite" | |
single_threaded: false | |
connector: "sqlite" | |
version: "3" | |
- name: "mongodb_4_2" | |
single_threaded: true | |
connector: "mongodb" | |
version: "4.2" | |
- name: "cockroach_23_1" | |
single_threaded: false | |
connector: "cockroachdb" | |
version: "23.1" | |
- name: "cockroach_22_2" | |
single_threaded: false | |
connector: "cockroachdb" | |
version: "22.2" | |
- name: "cockroach_22_1_0" | |
single_threaded: false | |
connector: "cockroachdb" | |
version: "22.1" | |
engine_protocol: [graphql, json] | |
relation_load_strategy: [join, query] | |
partition: ["1/4", "2/4", "3/4", "4/4"] | |
exclude: | |
- relation_load_strategy: join | |
database: | |
[ | |
{ "connector": "mongodb" }, | |
{ "connector": "sqlite" }, | |
{ "connector": "mssql_2022" }, | |
] | |
env: | |
LOG_LEVEL: "info" | |
LOG_QUERIES: "y" | |
RUST_LOG_FORMAT: "devel" | |
RUST_BACKTRACE: "1" | |
CLICOLOR_FORCE: "1" | |
CLOSED_TX_CLEANUP: "2" | |
SIMPLE_TEST_MODE: "1" | |
QUERY_BATCH_SIZE: "10" | |
TEST_RUNNER: "direct" | |
TEST_CONNECTOR: ${{ matrix.database.connector }} | |
TEST_CONNECTOR_VERSION: ${{ matrix.database.version }} | |
PRISMA_ENGINE_PROTOCOL: ${{ matrix.engine_protocol }} | |
PRISMA_RELATION_LOAD_STRATEGY: ${{ matrix.relation_load_strategy }} | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
- uses: taiki-e/install-action@nextest | |
- 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: "Start ${{ matrix.database.name }} (${{ matrix.engine_protocol }})" | |
run: make start-${{ matrix.database.name }} | |
- run: export WORKSPACE_ROOT=$(pwd) && cargo nextest run -p query-engine-tests --partition hash:${{ matrix.partition }} --test-threads=1 | |
if: ${{ matrix.database.single_threaded }} | |
env: | |
CLICOLOR_FORCE: 1 | |
- run: export WORKSPACE_ROOT=$(pwd) && cargo nextest run -p query-engine-tests --partition hash:${{ matrix.partition }} --test-threads=8 | |
if: ${{ !matrix.database.single_threaded }} | |
env: | |
CLICOLOR_FORCE: 1 |