Skip to content

v1.0: Queue/Worker rewrite, workflow engine, docs overhaul #134

v1.0: Queue/Worker rewrite, workflow engine, docs overhaul

v1.0: Queue/Worker rewrite, workflow engine, docs overhaul #134

Workflow file for this run

name: Tests
on:
pull_request:
branches: ["*"]
push:
branches: ["main", "changesets/release"]
merge_group:
workflow_dispatch:
inputs:
pr_number:
description: "PR number to run CI for"
required: false
type: string
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
permissions:
contents: read
pull-requests: read
checks: write
statuses: write
# You can leverage Vercel Remote Caching with Turbo to speed up your builds
# @link https://turborepo.org/docs/core-concepts/remote-caching#remote-caching-on-vercel-builds
env:
FORCE_COLOR: 3
jobs:
detect-package-changes:
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
outputs:
packages_changed: ${{ steps.filter.outputs.packages }}
steps:
- uses: actions/checkout@v6
- uses: dorny/paths-filter@v3
id: filter
with:
filters: |
packages:
- 'packages/**'
- 'pnpm-lock.yaml'
node_versions:
needs: [detect-package-changes]
if: |
always() &&
(needs.detect-package-changes.result == 'skipped' || needs.detect-package-changes.outputs.packages_changed == 'true')
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [22, 24, 26]
name: Test (Node.js ${{ matrix.node-version }})
steps:
- uses: actions/checkout@v6
- name: Setup Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v6
with:
node-version: ${{ matrix.node-version }}
- name: Setup pnpm
uses: pnpm/action-setup@v6
with:
run_install: false
- shell: bash
run: pnpm install
- name: Build packages
run: |
pnpm -F adapter-prisma prisma:generate
pnpm --filter "./packages/*" build
- name: Test Core Package
run: pnpm test:core
- name: Test Drizzle
run: pnpm test:drizzle
env:
# Ensure Docker is available for Testcontainers
TESTCONTAINERS_RYUK_DISABLED: true
- name: Test Prisma
run: |
pnpm -F adapter-prisma prisma:generate_test
pnpm test:prisma
env:
# Ensure Docker is available for Testcontainers
TESTCONTAINERS_RYUK_DISABLED: true
- name: Test Kysely
run: pnpm test:kysely
env:
# Ensure Docker is available for Testcontainers
TESTCONTAINERS_RYUK_DISABLED: true
- name: Test ZenStack
run: pnpm test:zenstack
env:
TESTCONTAINERS_RYUK_DISABLED: true
- name: Test TypeORM
run: pnpm test:typeorm
env:
TESTCONTAINERS_RYUK_DISABLED: true
- name: Test MikroORM
run: pnpm test:mikroorm
env:
TESTCONTAINERS_RYUK_DISABLED: true
- name: Test Sequelize
run: pnpm test:sequelize
env:
TESTCONTAINERS_RYUK_DISABLED: true
postgres-drizzle:
needs: [detect-package-changes]
if: |
always() &&
(needs.detect-package-changes.result == 'skipped' || needs.detect-package-changes.outputs.packages_changed == 'true')
runs-on: ubuntu-latest
strategy:
matrix:
pg-version: [12, 13, 14, 15, 16, 17]
name: Test Drizzle Adapter (Postgres ${{ matrix.pg-version }})
steps:
- uses: actions/checkout@v6
- name: Setup
uses: ./.github/setup
- name: Setup pnpm
uses: pnpm/action-setup@v6
with:
run_install: false
- shell: bash
run: pnpm install
- name: Build package
run: |
pnpm --filter "./packages/*" build
- name: Test PostgreSQL (Postgres ${{ matrix.pg-version }})
run: pnpm test:drizzle
env:
# Ensure Docker is available for Testcontainers
TESTCONTAINERS_RYUK_DISABLED: true
PG_VERSION: ${{ matrix.pg-version }}
postgres-prisma:
needs: [detect-package-changes]
if: |
always() &&
(needs.detect-package-changes.result == 'skipped' || needs.detect-package-changes.outputs.packages_changed == 'true')
runs-on: ubuntu-latest
strategy:
matrix:
pg-version: [12, 13, 14, 15, 16, 17]
name: Test Prisma Adapter (Postgres ${{ matrix.pg-version }})
steps:
- uses: actions/checkout@v6
- name: Setup
uses: ./.github/setup
- name: Setup pnpm
uses: pnpm/action-setup@v6
with:
run_install: false
- shell: bash
run: pnpm install
- name: Build package
run: |
pnpm --filter "./packages/*" build
- name: Test PostgreSQL (Postgres ${{ matrix.pg-version }})
run: |
pnpm -F adapter-prisma prisma:generate_test
pnpm test:prisma
env:
# Ensure Docker is available for Testcontainers
TESTCONTAINERS_RYUK_DISABLED: true
PG_VERSION: ${{ matrix.pg-version }}
postgres-kysely:
needs: [detect-package-changes]
if: |
always() &&
(needs.detect-package-changes.result == 'skipped' || needs.detect-package-changes.outputs.packages_changed == 'true')
runs-on: ubuntu-latest
strategy:
matrix:
pg-version: [12, 13, 14, 15, 16, 17]
name: Test Kysely Adapter (Postgres ${{ matrix.pg-version }})
steps:
- uses: actions/checkout@v6
- name: Setup
uses: ./.github/setup
- name: Setup pnpm
uses: pnpm/action-setup@v6
with:
run_install: false
- shell: bash
run: pnpm install
- name: Build package
run: |
pnpm --filter "./packages/*" build
- name: Test PostgreSQL (Postgres ${{ matrix.pg-version }})
run: pnpm test:kysely
env:
# Ensure Docker is available for Testcontainers
TESTCONTAINERS_RYUK_DISABLED: true
PG_VERSION: ${{ matrix.pg-version }}
postgres-zenstack:
needs: [detect-package-changes]
if: |
always() &&
(needs.detect-package-changes.result == 'skipped' || needs.detect-package-changes.outputs.packages_changed == 'true')
runs-on: ubuntu-latest
strategy:
matrix:
pg-version: [12, 13, 14, 15, 16, 17]
name: Test ZenStack Adapter (Postgres ${{ matrix.pg-version }})
steps:
- uses: actions/checkout@v6
- name: Setup
uses: ./.github/setup
- name: Setup pnpm
uses: pnpm/action-setup@v6
with:
run_install: false
- shell: bash
run: pnpm install
- name: Build package
run: |
pnpm --filter "./packages/*" build
- name: Test PostgreSQL (Postgres ${{ matrix.pg-version }})
run: pnpm test:zenstack
env:
TESTCONTAINERS_RYUK_DISABLED: true
PG_VERSION: ${{ matrix.pg-version }}
postgres-typeorm:
needs: [detect-package-changes]
if: |
always() &&
(needs.detect-package-changes.result == 'skipped' || needs.detect-package-changes.outputs.packages_changed == 'true')
runs-on: ubuntu-latest
strategy:
matrix:
pg-version: [12, 13, 14, 15, 16, 17]
name: Test TypeORM Adapter (Postgres ${{ matrix.pg-version }})
steps:
- uses: actions/checkout@v6
- name: Setup
uses: ./.github/setup
- name: Setup pnpm
uses: pnpm/action-setup@v6
with:
run_install: false
- shell: bash
run: pnpm install
- name: Build package
run: |
pnpm --filter "./packages/*" build
- name: Test PostgreSQL (Postgres ${{ matrix.pg-version }})
run: pnpm test:typeorm
env:
TESTCONTAINERS_RYUK_DISABLED: true
PG_VERSION: ${{ matrix.pg-version }}
postgres-mikroorm:
needs: [detect-package-changes]
if: |
always() &&
(needs.detect-package-changes.result == 'skipped' || needs.detect-package-changes.outputs.packages_changed == 'true')
runs-on: ubuntu-latest
strategy:
matrix:
pg-version: [12, 13, 14, 15, 16, 17]
name: Test MikroORM Adapter (Postgres ${{ matrix.pg-version }})
steps:
- uses: actions/checkout@v6
- name: Setup
uses: ./.github/setup
- name: Setup pnpm
uses: pnpm/action-setup@v6
with:
run_install: false
- shell: bash
run: pnpm install
- name: Build package
run: |
pnpm --filter "./packages/*" build
- name: Test PostgreSQL (Postgres ${{ matrix.pg-version }})
run: pnpm test:mikroorm
env:
TESTCONTAINERS_RYUK_DISABLED: true
PG_VERSION: ${{ matrix.pg-version }}
postgres-sequelize:
needs: [detect-package-changes]
if: |
always() &&
(needs.detect-package-changes.result == 'skipped' || needs.detect-package-changes.outputs.packages_changed == 'true')
runs-on: ubuntu-latest
strategy:
matrix:
pg-version: [12, 13, 14, 15, 16, 17]
name: Test Sequelize Adapter (Postgres ${{ matrix.pg-version }})
steps:
- uses: actions/checkout@v6
- name: Setup
uses: ./.github/setup
- name: Setup pnpm
uses: pnpm/action-setup@v6
with:
run_install: false
- shell: bash
run: pnpm install
- name: Build package
run: |
pnpm --filter "./packages/*" build
- name: Test PostgreSQL (Postgres ${{ matrix.pg-version }})
run: pnpm test:sequelize
env:
TESTCONTAINERS_RYUK_DISABLED: true
PG_VERSION: ${{ matrix.pg-version }}