Skip to content

Merge pull request #17 from Ernxst/changeset-release/main #39

Merge pull request #17 from Ernxst/changeset-release/main

Merge pull request #17 from Ernxst/changeset-release/main #39

Workflow file for this run

name: 🚀 CI
on:
workflow_dispatch:
push:
merge_group:
pull_request:
paths-ignore:
- ".vscode/**"
- "**/*.md"
- ".github/ISSUE_TEMPLATE/**"
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
TURBO_TEAM: ${{ vars.TURBO_TEAM }}
TURBO_REMOTE_ONLY: true
jobs:
lint:
name: ⬣ Lint
runs-on: ubuntu-22.04
steps:
- name: ⬇️ Checkout repo
uses: actions/checkout@v4
- name: 🛠 Setup Biome CLI
uses: biomejs/setup-biome@v2
- name: 🛠 Format Code
run: biome format . --write
- name: 🔬 Run Biome
run: biome ci .
typecheck:
name: ʦ Typecheck
runs-on: ubuntu-22.04
steps:
- name: ⬇️ Checkout repo
uses: actions/checkout@v4
- name: 📤 Install Bun
uses: oven-sh/setup-bun@v1
with:
bun-version: latest
- name: 📤 Install dependencies
run: bun install
- name: 🔎 Typecheck
run: bun typecheck
test:
name: "🧪 Test"
runs-on: ubuntu-22.04
strategy:
matrix:
node-version: [20, 22]
steps:
- name: ⬇️ Checkout repo
uses: actions/checkout@v4
- name: 📤 Setup Node ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- name: 📤 Install Bun
uses: oven-sh/setup-bun@v1
with:
bun-version: latest
- name: 📤 Install dependencies
run: bun install
- name: 🛠 Build Packages
run: bun run build
- name: 🧪 Run Tests
run: bun run test --continue --filter='!./examples/*'
- name: 🧪 Run Type Tests
run: bun run test:types --continue --filter='!./examples/*'
playwright:
name: "🧪 Playwright"
runs-on: ubuntu-latest
timeout-minutes: 15
strategy:
fail-fast: false
matrix:
shardIndex: [1, 2, 3, 4]
shardTotal: [4]
steps:
- name: ⬇️ Checkout repo
uses: actions/checkout@v4
with:
fetch-depth: 2
- name: 📤 Setup Node
uses: actions/setup-node@v4
with:
node-version: 20.13.1
- name: 📤 Install Bun
uses: oven-sh/setup-bun@v1
- name: 📤 Install dependencies
run: bun install
- name: 📤 Install Playwright browsers
run: bunx playwright install --with-deps
working-directory: packages/core
- name: 🧪 Run Playwright tests
run: bun test:e2e --continue -- --shard=${{ matrix.shardIndex }}/${{ matrix.shardTotal }}