Skip to content

Polish Pocket Home Screen name and Apple touch icons #850

Polish Pocket Home Screen name and Apple touch icons

Polish Pocket Home Screen name and Apple touch icons #850

Workflow file for this run

name: Chromatic
on:
push:
branches:
- main
paths:
- 'lib/**'
- 'docs/stories/**'
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
paths:
- 'lib/**'
- 'docs/stories/**'
permissions:
contents: read
concurrency:
# One in-flight build per PR, so a superseded push stops burning runner time.
# Whether it also stops the snapshot bill depends on the CLI cancelling the build
# server-side after upload, which is unverified. Keyed by SHA on push so main
# never cancels — those builds establish the baselines every PR diffs against.
group: chromatic-${{ github.event.pull_request.number || github.sha }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
jobs:
chromatic:
name: Visual Regression Tests
# A draft PR does not spend snapshots: marking it ready is the deliberate
# trigger. A skipped job reports success, but GitHub refuses to merge a draft at
# all, so for that clause the draft state is itself the gate.
# Fork PRs are skipped because secrets are withheld from them: the token would be
# empty and the action would fail red having captured nothing. That clause has no
# such backstop — if this check is ever made required, a fork PR touching `lib/**`
# merges with it green rather than blocking as it does today.
if: >-
github.event_name != 'pull_request'
|| (github.event.pull_request.draft == false
&& github.event.pull_request.head.repo.full_name == github.repository)
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 0
- name: Setup Node
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version-file: package.json
- name: Setup pnpm
uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.10
- name: Install dependencies
# Frozen, like every other workflow: a bare `pnpm install` resolves
# afresh, so the lockfile stops pinning what actually runs — in a job
# that holds CHROMATIC_PROJECT_TOKEN. Not `minimumReleaseAge`, which is
# applied during resolution and so binds a fresh resolve too; the
# lockfile pin is the whole of what freezing buys.
run: pnpm install --frozen-lockfile
working-directory: lib
- name: Run Chromatic
uses: chromaui/action@2a0b63f30233c48591844a46d451b9cf68128186 # v18.7.2
with:
projectToken: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
workingDir: lib
buildScriptName: build-storybook
exitZeroOnChanges: true
onlyChanged: true