Skip to content

Add more :hover and :active visual tests (#760) #627

Add more :hover and :active visual tests (#760)

Add more :hover and :active visual tests (#760) #627

name: On Push Branch "main"
on:
push:
branches:
- main
env:
CI: true
concurrency:
group: ${{ github.head_ref || github.ref }}
cancel-in-progress: true
jobs:
install-dependencies:
name: Install
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/pnpm
release-preview:
name: Release Preview
timeout-minutes: 5
runs-on: ubuntu-latest
needs:
- install-dependencies
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/pnpm
- name: Create Release Pull Request
id: changesets
uses: changesets/action@v1
with:
title: Release Preview
commit: Version package
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
update-baseline-screenshots:
name: Update Baseline Screenshots
runs-on: ubuntu-latest
needs:
- install-dependencies
steps:
- name: Install AWS CLI
run: |
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.22.35.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install --update
- name: Configure AWS CLI
env:
CLOUDFLARE_R2_ACCESS_KEY_ID: ${{ secrets.CLOUDFLARE_R2_ACCESS_KEY_ID }}
CLOUDFLARE_R2_SECRET_ACCESS_KEY: ${{ secrets.CLOUDFLARE_R2_SECRET_ACCESS_KEY }}
# https://developers.cloudflare.com/r2/examples/aws/aws-cli
run: |
aws configure set region auto
aws configure set output json
aws configure set aws_access_key_id $CLOUDFLARE_R2_ACCESS_KEY_ID
aws configure set aws_secret_access_key $CLOUDFLARE_R2_SECRET_ACCESS_KEY
- uses: actions/checkout@v4
- uses: ./.github/actions/pnpm
- run: pnpm dlx playwright@1.50.1 install --only-shell --with-deps chromium
- run: pnpm exec playwright test --update-snapshots
- run: aws s3 sync ./dist/playwright-baseline-screenshots s3://${{ vars.CLOUDFLARE_R2_BUCKET_NAME }}/baseline-screenshots --delete --endpoint-url ${{ vars.CLOUDFLARE_R2_ENDPOINT }}
build:
name: Build
runs-on: ubuntu-latest
needs:
- install-dependencies
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/pnpm
- name: Build Storybook
run: pnpm start
env:
BASE_URL: main
NODE_ENV: production
- name: Upload Storybook
uses: actions/upload-artifact@v4
with:
name: storybook
path: dist/storybook
deploy-storybook:
name: Deploy Storybook
# Ubuntu instead of MacOS because the performance difference is
# negligible and Ubuntu includes the AWS CLI.
runs-on: ubuntu-latest
needs:
- install-dependencies
- build
steps:
- name: Download Storybook
uses: actions/download-artifact@v4
with:
name: storybook
path: storybook
# TODO: Remove after this is resolved: https://www.cloudflarestatus.com/incidents/t5nrjmpxc1cj
- name: Install AWS CLI
run: |
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.22.35.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install --update
- name: Configure AWS CLI
env:
CLOUDFLARE_R2_ACCESS_KEY_ID: ${{ secrets.CLOUDFLARE_R2_ACCESS_KEY_ID }}
CLOUDFLARE_R2_SECRET_ACCESS_KEY: ${{ secrets.CLOUDFLARE_R2_SECRET_ACCESS_KEY }}
# https://developers.cloudflare.com/r2/examples/aws/aws-cli
run: |
aws configure set region auto
aws configure set output json
aws configure set aws_access_key_id $CLOUDFLARE_R2_ACCESS_KEY_ID
aws configure set aws_secret_access_key $CLOUDFLARE_R2_SECRET_ACCESS_KEY
- name: Deploy Storybook
run: aws s3 sync ./storybook s3://${{ vars.CLOUDFLARE_R2_BUCKET_NAME }}/main --endpoint-url ${{ vars.CLOUDFLARE_R2_ENDPOINT }}