mirror of
https://github.com/vitest-dev/vitest.git
synced 2025-12-08 18:26:03 +00:00
205 lines
4.2 KiB
YAML
205 lines
4.2 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
|
|
pull_request:
|
|
branches:
|
|
- main
|
|
|
|
concurrency:
|
|
group: ci-${{ github.event.pull_request.number || github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
env:
|
|
VITEST_SEGFAULT_RETRY: 3
|
|
PLAYWRIGHT_BROWSERS_PATH: ${{ github.workspace }}/.cache/ms-playwright
|
|
CYPRESS_CACHE_FOLDER: ${{ github.workspace }}/.cache/Cypress
|
|
PUPPETEER_DOWNLOAD_PATH: ${{ github.workspace }}/.cache/Puppeteer
|
|
|
|
jobs:
|
|
lint:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- uses: ./.github/actions/setup-and-cache
|
|
|
|
- name: Install
|
|
run: pnpm i
|
|
|
|
- name: Lint
|
|
run: pnpm run lint
|
|
|
|
typecheck:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- uses: ./.github/actions/setup-and-cache
|
|
|
|
- name: Install
|
|
run: pnpm i
|
|
|
|
- name: Build
|
|
run: pnpm run build
|
|
|
|
- name: Typecheck
|
|
run: pnpm run typecheck
|
|
|
|
test:
|
|
runs-on: ${{ matrix.os }}
|
|
|
|
timeout-minutes: 30
|
|
|
|
strategy:
|
|
matrix:
|
|
os: [ubuntu-latest]
|
|
node_version: [16, 18]
|
|
include:
|
|
- os: macos-latest
|
|
node_version: 18
|
|
- os: windows-latest
|
|
node_version: 18
|
|
fail-fast: false
|
|
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- uses: ./.github/actions/setup-and-cache
|
|
with:
|
|
node-version: ${{ matrix.node_version }}
|
|
|
|
- name: Install
|
|
run: pnpm i
|
|
|
|
- name: Build
|
|
run: pnpm run build
|
|
|
|
- name: Test
|
|
run: pnpm run test:ci
|
|
|
|
- name: Test Single Thread
|
|
run: pnpm run test:ci:single-thread
|
|
|
|
test-ui:
|
|
runs-on: ubuntu-latest
|
|
|
|
timeout-minutes: 10
|
|
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- uses: ./.github/actions/setup-and-cache
|
|
with:
|
|
node-version: 16.16
|
|
|
|
- name: Install
|
|
run: pnpm i
|
|
|
|
- name: Test UI
|
|
run: pnpm run ui:test
|
|
|
|
test-browser:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
browser: [[chrome, chromium], [firefox, firefox], [edge, webkit]]
|
|
|
|
timeout-minutes: 30
|
|
|
|
env:
|
|
BROWSER: ${{ matrix.browser[0] }}
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- uses: ./.github/actions/setup-and-cache
|
|
with:
|
|
node-version: 18
|
|
|
|
- uses: browser-actions/setup-chrome@v1
|
|
- uses: browser-actions/setup-firefox@v1
|
|
- uses: browser-actions/setup-edge@v1
|
|
|
|
- name: Install
|
|
run: pnpm i
|
|
|
|
- name: Install Playwright Dependencies
|
|
run: pnpx playwright install-deps
|
|
|
|
- name: Build
|
|
run: pnpm run build
|
|
|
|
- name: Test Browser (webdriverio)
|
|
run: pnpm run test:browser:webdriverio
|
|
|
|
- name: Test Browser (playwright)
|
|
run: pnpm run test:browser:playwright
|
|
env:
|
|
BROWSER: ${{ matrix.browser[1] }}
|
|
|
|
test-browser-windows:
|
|
runs-on: windows-latest
|
|
strategy:
|
|
matrix:
|
|
browser: [[chrome, chromium], [edge, webkit]]
|
|
|
|
timeout-minutes: 30
|
|
|
|
env:
|
|
BROWSER: ${{ matrix.browser[0] }}
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- uses: ./.github/actions/setup-and-cache
|
|
with:
|
|
node-version: 18
|
|
|
|
- uses: browser-actions/setup-chrome@v1
|
|
- uses: browser-actions/setup-edge@v1
|
|
|
|
- name: Install
|
|
run: pnpm i
|
|
|
|
- name: Install Playwright Dependencies
|
|
run: pnpx playwright install-deps
|
|
|
|
- name: Build
|
|
run: pnpm run build
|
|
|
|
- name: Test Browser (webdriverio)
|
|
run: pnpm run test:browser:webdriverio
|
|
|
|
- name: Test Browser (playwright)
|
|
run: pnpm run test:browser:playwright
|
|
env:
|
|
BROWSER: ${{ matrix.browser[1] }}
|
|
|
|
test-browser-safari:
|
|
runs-on: macos-latest
|
|
timeout-minutes: 30
|
|
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- uses: ./.github/actions/setup-and-cache
|
|
with:
|
|
node-version: 18
|
|
|
|
- name: Install
|
|
run: sudo pnpm i --frozen-lockfile
|
|
|
|
- name: Build
|
|
run: sudo pnpm run build
|
|
|
|
- name: Enable
|
|
run: sudo safaridriver --enable
|
|
|
|
- name: Test Browser (webdriverio)
|
|
run: sudo BROWSER=safari pnpm run test:browser:webdriverio
|
|
|
|
- name: Test Browser (playwright)
|
|
run: sudo BROWSER=webkit pnpm run test:browser:playwright
|