chore(snapshot): file generation to use path join function #5440
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: PR Build | |
on: | |
pull_request: | |
concurrency: | |
group: pr-build-${{github.event.pull_request.number}} | |
cancel-in-progress: true | |
jobs: | |
pr-build: | |
name: PR Build | |
timeout-minutes: 30 | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
angular: ['Angular v15', 'Angular v16', 'Angular v17', 'Angular v18', 'Angular v19'] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Setup Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version-file: '.nvmrc' | |
- name: Install Dependencies | |
run: npm ci | |
- name: Update to Angular v16 | |
if: ${{matrix.angular == 'Angular v16' || matrix.angular == 'Angular v17' || matrix.angular == 'Angular v18' || matrix.angular == 'Angular v19'}} | |
run: | | |
npx ng update @angular/core@16 @angular/common@16 @angular/cli@16 @angular/cdk@16 --force | |
- name: Update to Angular v17 | |
if: ${{matrix.angular == 'Angular v17' || matrix.angular == 'Angular v18' || matrix.angular == 'Angular v19'}} | |
run: | | |
npx ng update @angular/core@17 @angular/common@17 @angular/cli@17 @angular/cdk@17 --allow-dirty --force | |
- name: Update to Angular v18 | |
if: ${{matrix.angular == 'Angular v18' || matrix.angular == 'Angular v19'}} | |
run: | | |
npx ng update @angular/core@18 @angular/common@18 @angular/cli@18 @angular/cdk@18 --allow-dirty --force | |
- name: Update to Angular v19 | |
if: ${{matrix.angular == 'Angular v19'}} | |
run: | | |
npx ng update @angular/core@19 @angular/common@19 @angular/cli@19 @angular/cdk@19 --allow-dirty --force | |
- name: Disable Storybook Build | |
if: ${{matrix.angular != 'Angular v15'}} | |
run: node ./scripts/clear-npm-script.js _build:storybook | |
- name: Lint | |
if: ${{matrix.angular == 'Angular v15'}} | |
run: npm run lint | |
- name: Build | |
run: npm run build | |
- name: Test | |
run: npm run test | |
- name: Public Api Check | |
if: ${{matrix.angular == 'Angular v15'}} | |
run: npm run public-api:check | |
- name: Upload Docs Artifact | |
if: ${{matrix.angular == 'Angular v15'}} | |
uses: actions/upload-artifact@v3 | |
with: | |
name: docs | |
path: dist/docs/ | |
- name: Upload Coverage Artifact | |
if: ${{matrix.angular == 'Angular v15'}} | |
uses: actions/upload-artifact@v3 | |
with: | |
name: coverage | |
path: coverage/ | |
pr-visual-regression-test: | |
name: PR Visual Regression Test | |
timeout-minutes: 30 | |
# This job intentionally does not use the `ubuntu-latest` image. | |
# An updated image could generate different snapshots, so we should explicitly update the image version. | |
runs-on: ubuntu-24.04 | |
strategy: | |
matrix: | |
browser: ['chromium', 'firefox'] | |
env: | |
CLARITY_VRT_BROWSER: ${{matrix.browser}} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Setup Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version-file: '.nvmrc' | |
- name: Install Dependencies | |
run: npm ci | |
- name: Install Playwright Browsers | |
run: npx playwright install --with-deps ${{matrix.browser}} | |
- name: Build Storybook | |
run: npm run _build:storybook | |
- name: Discover Stories | |
run: npm run ts-node -- ./scripts/write-story-list.ts | |
- name: Update Visual Snapshots | |
run: npx playwright test --update-snapshots | |
- name: Collect Changes | |
id: diff | |
run: | | |
git add . | |
git diff --cached --binary > visual-snapshot-changes-${{matrix.browser}}.diff | |
- name: Upload Changes | |
uses: actions/upload-artifact@v3 | |
with: | |
name: visual-snapshot-changes-${{matrix.browser}}.diff | |
path: visual-snapshot-changes-${{matrix.browser}}.diff |