Skip to content

Commit

Permalink
ci: split jobs. (#943)
Browse files Browse the repository at this point in the history
  • Loading branch information
igalklebanov authored Jun 26, 2024
1 parent 935c879 commit 0dd0978
Showing 1 changed file with 121 additions and 19 deletions.
140 changes: 121 additions & 19 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,13 @@ on:
branches: [master]

jobs:
run-tests:
node:
name: Node.js
runs-on: ubuntu-latest

strategy:
matrix:
node-version: [18.x, 20.x, 22.x]
bun-version: [1.1.x]
deno-version: [1.42.x]

steps:
- uses: actions/checkout@v4
Expand All @@ -25,43 +24,146 @@ jobs:
node-version: ${{ matrix.node-version }}
cache: 'npm'

- name: Install dependencies
run: npm ci

- name: Run docker compose
run: docker compose up -d

- name: Run node tests
run: npm test

- name: Run esbuild test
run: npm run test:esbuild

node-with-transformer:
name: Node.js /w transformer
runs-on: ubuntu-latest

strategy:
matrix:
node-version: [18.x, 20.x, 22.x]

steps:
- uses: actions/checkout@v4

- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'

- name: Install dependencies
run: npm ci

- name: Run docker compose
run: docker compose up -d

- name: Run node tests with transformer
run: TEST_TRANSFORMER=1 npm test

deno:
name: Deno
runs-on: ubuntu-latest

strategy:
matrix:
deno-version: [1.42.x]

steps:
- uses: actions/checkout@v4

- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version: 22.x
cache: 'npm'

- name: Install dependencies
run: npm ci

- name: Use Deno ${{ matrix.deno-version }}
uses: denoland/setup-deno@v1
with:
deno-version: ${{ matrix.deno-version }}

- name: Use Bun ${{ matrix.bun-version }}
uses: oven-sh/setup-bun@v1
- name: Run docker compose
run: docker compose up -d

- name: Run deno tests
run: npm run test:deno

bun:
name: Bun
runs-on: ubuntu-latest

strategy:
matrix:
bun-version: [1.1.x]

steps:
- uses: actions/checkout@v4

- name: Use Node.js
uses: actions/setup-node@v4
with:
bun-version: ${{ matrix.bun-version }}
node-version: 22.x
cache: 'npm'

- name: Install dependencies
run: npm ci

- name: Install playwright
run: npx playwright install chromium
- name: Use Bun ${{ matrix.bun-version }}
uses: oven-sh/setup-bun@v1
with:
bun-version: ${{ matrix.bun-version }}

- name: Run docker compose
run: docker compose up -d

- name: Run node tests
run: npm test
- name: Run bun tests
run: npm run test:bun

- name: Run node tests with transformer
run: TEST_TRANSFORMER=1 npm test
browser:
name: Browser
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version: 22.x
cache: 'npm'

- name: Install dependencies
run: npm ci

- name: Install playwright
run: npx playwright install chromium

- name: Run browser tests
run: npm run test:browser

- name: Run deno tests
run: npm run test:deno
cloudflare-workers:
name: Cloudflare Workers
runs-on: ubuntu-latest

- name: Run bun tests
run: npm run test:bun
steps:
- uses: actions/checkout@v4

- name: Run esbuild test
run: npm run test:esbuild
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version: 22.x
cache: 'npm'

- name: Install dependencies
run: npm ci

- name: Run docker compose
run: docker compose up -d

- name: Run cloudflare workers test
if: matrix.node-version != '18.x'
run: npm run test:cloudflare-workers

0 comments on commit 0dd0978

Please sign in to comment.