Skip to content

V11 docs general

V11 docs general #3916

Workflow file for this run

name: release
on:
push:
branches:
- 'master'
- 'beta'
- 'alpha'
- 'canary-*'
- 'rc'
pull_request: {}
permissions:
contents: write
id-token: write
# Cancel any previous run (see: https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#concurrency)
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
#* Static Analysis ==============================
# Lint, typecheck, formatting - fast checks that don't need build
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: corepack enable
- uses: actions/setup-node@v4
with:
node-version-file: '.node-version'
cache: 'yarn'
- run: yarn install
- run: yarn test:lint
#* Build & Test ==============================
# Build the package and run all tests
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: corepack enable
- uses: actions/setup-node@v4
with:
node-version-file: '.node-version'
cache: 'yarn'
- run: yarn install
- run: yarn build
# Bundle verification - ensures THREE imports are correct per entry point
- name: Verify bundle structure
run: yarn test:bundles
# Canary tests - verifies exports are importable
- name: Canary import tests
run: yarn test:canary
#* Build Storybook & Parity Tests ==============================
storybook:
needs: [lint, test]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: corepack enable
- uses: actions/setup-node@v4
with:
node-version-file: '.node-version'
cache: 'yarn'
- run: yarn install
- run: yarn build
- run: yarn build-storybook
# Install Playwright browsers for parity tests
- name: Install Playwright browsers
run: npx playwright install chromium
# Platform parity tests - compare Legacy vs WebGPU renders
- name: Run parity tests
id: parity
run: yarn test:parity
continue-on-error: true
# Upload diff images on failure for debugging
- name: Upload parity diff images
if: steps.parity.outcome == 'failure'
uses: actions/upload-artifact@v4
with:
name: parity-diffs
path: test-results/parity/
retention-days: 7
# Upload Playwright HTML report for interactive viewing
- name: Upload Playwright report
if: steps.parity.outcome == 'failure'
uses: actions/upload-artifact@v4
with:
name: parity-report
path: playwright-report/
retention-days: 7
#* Release ==============================
release:
needs: [lint, test, storybook]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: corepack enable
- uses: actions/setup-node@v4
with:
node-version-file: '.node-version'
cache: 'yarn'
- run: yarn install
- run: yarn build
# semantic-release skips not configured branches (see: release.config.js) or pull-requests
- run: yarn release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}