chore: beta sync master (#2529) #255
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
branches: [master] | |
paths: | |
- 'packages/**' | |
- '__tests__/**' | |
pull_request: | |
branches: | |
- '**' | |
paths: | |
- 'packages/**' | |
- '__tests__/**' | |
permissions: | |
contents: read # to fetch code (actions/checkout) | |
concurrency: | |
group: '${{ github.workflow }} - ${{ github.head_ref || github.ref }}' | |
cancel-in-progress: true | |
jobs: | |
lint: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
node-version: [18.x] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install dependencies | |
uses: ./.github/actions/prepare-install | |
with: | |
node-version: ${{ matrix.node-version }} | |
- name: Check | |
run: | | |
pnpm check-deps | |
pnpm check-format | |
- name: Lint | |
run: pnpm lint:ts | |
#TODO: turn on after fixd | |
# - name: Stylelint | |
# run: pnpm lint:css | |
unit-test: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
node-version: [18.x] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install dependencies | |
uses: ./.github/actions/prepare-install | |
with: | |
node-version: ${{ matrix.node-version }} | |
- name: Install system dependencies | |
# install system dependencies up to date for use headless-gl in ubuntu | |
# see https://github.com/stackgl/headless-gl#how-can-i-use-headless-gl-with-a-continuous-integration-service | |
run: sudo apt-get install -y build-essential libgl1-mesa-dri libglapi-mesa | |
libglew-dev libglu1-mesa-dev libosmesa6 | |
libxi-dev mesa-utils pkg-config | |
- name: Coverage Test | |
# use xvfb-run run in ubuntu | |
run: xvfb-run pnpm test-cover | |
# - name: Upload test coverage | |
# uses: coverallsapp/github-action@master | |
# with: | |
# github-token: ${{ secrets.GITHUB_TOKEN }} | |
integration-test: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
node-version: [18.x] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install dependencies | |
uses: ./.github/actions/prepare-install | |
with: | |
node-version: ${{ matrix.node-version }} | |
- name: Install Playwright chromium browser | |
run: pnpm exec playwright install --with-deps chromium | |
- name: Integration Test | |
run: pnpm test:integration | |
- name: Upload snapshots to GitHub Actions Artifacts | |
if: always() | |
uses: actions/upload-artifact@v3 | |
with: | |
name: snapshots | |
path: | | |
__tests__/integration/snapshots/*-actual.png | |
retention-days: 1 | |
size-test: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
node-version: [18.x] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install dependencies | |
uses: ./.github/actions/prepare-install | |
with: | |
node-version: ${{ matrix.node-version }} | |
- name: Szie Test With Build | |
run: pnpm test:size |