chore: 更新e2e 结果图片 #302
This file contains hidden or 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: ./.gith 76EA ub/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: Check if snapshot files exist | |
run: | | |
if [ ! -d "__tests__/integration/snapshots/" ]; then | |
echo "Directory __tests__/integration/snapshots/ does not exist" | |
exit 1 | |
fi | |
if [ ! "$(ls -A __tests__/integration/snapshots/*-actual.png)" ]; then | |
echo "No files matching __tests__/integration/snapshots/*-actual.png found" | |
exit 1 | |
fi | |
- name: Generate timestamp and random string | |
run: | | |
echo "TIMESTAMP=$(date +%s)" >> $GITHUB_ENV | |
echo "RANDOM_STRING=$(openssl rand -hex 4)" >> $GITHUB_ENV | |
- name: Upload snapshots to GitHub Actions Artifacts | |
if: always() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: snapshots-${{ env.TIMESTAMP }}-${{ env.RANDOM_STRING }} | |
path: | | |
__tests__/integration/snapshots/*-actual.png | |
retention-days: 1 | |
if-no-files-found: ignore | |
include-hidden-files: true | |
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 |