Skip to content

Type-safe seed file generation #163

Type-safe seed file generation

Type-safe seed file generation #163

Workflow file for this run

name: tests
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
unit:
runs-on: ubuntu-latest
name: Unit Tests
steps:
- uses: actions/checkout@v4
- name: Install pnpm
uses: pnpm/action-setup@v4
- name: Use Node.js 22
uses: actions/setup-node@v4
with:
node-version: 22
cache: "pnpm"
- name: Install dependencies
run: pnpm i
- name: Build
run: pnpm build
- name: Test
run: pnpm test
node:
strategy:
matrix:
node-version: [18, 20, 22]
os: [macos-latest, ubuntu-latest, windows-latest]
type: [cjs, esm]
runs-on: ${{ matrix.os }}
name: ${{ matrix.os }} + Node.js v${{ matrix.node-version }} + ${{ matrix.type }}
steps:
- uses: actions/checkout@v4
- name: Install pnpm
uses: pnpm/action-setup@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: "pnpm"
- name: Install dependencies
run: pnpm i && pnpm build && cd examples/node-${{ matrix.type }} && pnpm i
- name: kysely -v
working-directory: examples/node-${{ matrix.type }}
run: pnpm kysely -v
- name: kysely migrate:make <migration-name> --cwd=%cd%
if: matrix.os == 'windows-latest'
working-directory: examples/node-${{ matrix.type }}
run: pnpm kysely migrate:make moshe --cwd=%cd% --debug
- name: kysely migrate:make <migration-name>
if: matrix.os != 'windows-latest'
working-directory: examples/node-${{ matrix.type }}
run: pnpm kysely migrate:make moshe --debug
- name: kysely migrate:list
working-directory: examples/node-${{ matrix.type }}
run: pnpm kysely migrate:list --debug
- name: kysely migrate:latest
working-directory: examples/node-${{ matrix.type }}
run: pnpm kysely migrate:latest --debug
- name: kysely migrate:rollback --all
working-directory: examples/node-${{ matrix.type }}
run: pnpm kysely migrate:rollback --all --debug
bun:
runs-on: ubuntu-latest
name: ubuntu-latest + Bun
steps:
- uses: actions/checkout@v4
- name: Install pnpm
uses: pnpm/action-setup@v4
- name: Use Node.js 22
uses: actions/setup-node@v4
with:
node-version: 22
cache: "pnpm"
- uses: oven-sh/setup-bun@v1
with:
bun-version: latest
- name: Install dependencies
run: pnpm i && pnpm build && bun link && cd examples/bun && bun install
- name: kysely -v
working-directory: examples/bun
run: bun --bun kysely -v
- name: kysely migrate:make <migration-name>
working-directory: examples/bun
run: bun --bun kysely migrate:make moshe --debug
- name: kysely migrate:list
working-directory: examples/bun
run: bun --bun kysely migrate:list --debug
- name: kysely migrate:latest
working-directory: examples/bun
run: bun --bun kysely migrate:latest --debug
- name: kysely migrate:rollback --all
working-directory: examples/bun
run: bun --bun kysely migrate:rollback --all --debug
deno:
runs-on: ubuntu-latest
name: ubuntu-latest + Deno
steps:
- uses: actions/checkout@v4
- name: Install pnpm
uses: pnpm/action-setup@v4
- name: Use Node.js 22
uses: actions/setup-node@v4
with:
node-version: 22
cache: "pnpm"
- uses: denoland/setup-deno@v1
with:
deno-version: vx.x.x
- name: Install dependencies
run: pnpm i && pnpm build && cd examples/deno-package-json && deno cache .config/kysely.config.ts && cd ../.. && pnpx tsx ./scripts/localize-deno-dependency.mts
- name: Run docker compose
working-directory: examples/deno-package-json
run: docker compose up -d
- name: kysely -v
working-directory: examples/deno-package-json
run: deno task kysely -v
- name: kysely migrate:make <migration-name>
working-directory: examples/deno-package-json
run: deno task kysely migrate:make moshe --debug
- name: kysely migrate:list
working-directory: examples/deno-package-json
run: deno task kysely migrate:list --debug
- name: kysely migrate:latest
working-directory: examples/deno-package-json
run: deno task kysely migrate:latest --debug
- name: kysely migrate:rollback --all
working-directory: examples/deno-package-json
run: deno task kysely migrate:rollback --all --debug