V11 docs general #3917
Workflow file for this run
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: 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 }} |