Release Tracking #2285
Workflow file for this run
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: | |
- main | |
pull_request: | |
jobs: | |
build: | |
if: ${{ github.repository == 'primer/primitives' }} | |
name: Build verification | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
- name: Set up Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 16 | |
cache: 'npm' | |
- name: Install dependencies | |
run: npm ci --no-audit --no-fund --ignore-scripts | |
- name: Build v1 tokens | |
run: npm run build | |
- name: Build v8 tokens | |
run: npm run build:next | |
- name: Code linting check | |
run: npm run lint | |
- name: Code formatting check | |
run: npm run format:check | |
- name: Run unit tests | |
run: npm test | |
vrt-runner: | |
runs-on: ubuntu-latest-8-cores | |
strategy: | |
fail-fast: false | |
matrix: | |
shard: [1, 2, 3, 4] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Use Node.js 16.x | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 16 | |
cache: 'npm' | |
- name: Install dependencies | |
run: npm ci | |
- name: Build v8 tokens | |
run: npm run build:next | |
- name: Build storybook | |
working-directory: docs/storybook | |
run: | | |
npm ci | |
npm run build-storybook | |
- name: Run storybook | |
id: storybook | |
run: | | |
npx serve -l 6006 storybook-static & | |
pid=$! | |
echo "pid=$pid" >> $GITHUB_OUTPUT | |
sleep 5 | |
working-directory: docs/storybook | |
- name: Run Visual Regression Tests | |
uses: docker://mcr.microsoft.com/playwright:v1.35.1-jammy | |
env: | |
STORYBOOK_URL: 'http://172.17.0.1:6006' | |
with: | |
args: npx playwright test --shard="${{ matrix.shard }}/${{ strategy.job-total }}" | |
- name: Stop storybook | |
run: kill ${{ steps.storybook.outputs.pid }} | |
- name: Upload report | |
if: ${{ always() }} | |
uses: actions/upload-artifact@v3 | |
with: | |
name: vrt-${{ matrix.shard }} | |
path: .playwright/report | |
vrt: | |
name: 'Visual Regression Testing' | |
if: ${{ always() }} | |
runs-on: ubuntu-latest | |
needs: vrt-runner | |
steps: | |
- name: Check vrt-runner job status | |
if: ${{ needs.vrt-runner.result == 'failure' }} | |
run: exit 1 |