Skip to content

Upgrade Storybook #5877

Upgrade Storybook

Upgrade Storybook #5877

Workflow file for this run

name: Lint & Test
on:
workflow_dispatch:
pull_request: # for PRs from forks
push:
branches-ignore:
- 'update-snapshots'
jobs:
lint:
runs-on: ubuntu-latest
# Skip `pull_request` runs on local PRs for which `push` runs are already triggered
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
steps:
- name: Checkout 🏷️
uses: actions/checkout@v4
- name: Set up Node 🕹️
uses: actions/setup-node@v4
with:
node-version-file: 'package.json'
- name: Install pnpm ⚙️
uses: pnpm/action-setup@v3
with:
version: 9.x
- name: Restore cache 📌
uses: actions/cache@v4
with:
path: |
~/setup-pnpm/node_modules/.bin/store
~/.cache/Cypress
key: cache-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-
- name: Install dependencies ⚙️
run: pnpm install
- name: Lint 🤓
run: pnpm lint
test:
runs-on: ubuntu-latest
# Skip `pull_request` runs on local PRs for which `push` runs are already triggered
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
steps:
- name: Checkout 🏷️
uses: actions/checkout@v4
- name: Set up Node 🕹️
uses: actions/setup-node@v4
with:
node-version-file: 'package.json'
- name: Install pnpm ⚙️
uses: pnpm/action-setup@v3
with:
version: 9.x
- name: Restore cache 📌
uses: actions/cache@v4
with:
path: |
~/setup-pnpm/node_modules/.bin/store
~/.cache/Cypress
key: cache-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-
- name: Install dependencies ⚙️
run: pnpm install
- name: Set up Python 🕹️
id: setup-python
uses: actions/setup-python@v5
- name: Restore Poetry installation 📌
id: poetry
uses: actions/cache@v4
with:
path: ~/.local
key: poetry-0 # increment to reset cache
- name: Install Poetry 📜
if: steps.poetry.outputs.cache-hit != 'true'
uses: snok/install-poetry@v1
- name: Restore Poetry environments 📌
id: poetry-venvs
uses: actions/cache@v4
with:
path: ~/.cache/pypoetry/virtualenvs
key: poetry-${{ runner.os }}-${{ hashFiles('**/poetry.lock') }}-1 # increment to reset cache
- name: Create Poetry environments 📜
if: steps.poetry-venvs.outputs.cache-hit != 'true'
run: pnpm support:setup
- name: Create sample HDF5 file 🎨
run: pnpm support:sample
- name: Start h5grove support server 🔌
run: pnpm support:h5grove & pnpm wait-on http://localhost:8888 -t 1m
- name: Test 👓
run: pnpm test
packages:
runs-on: ubuntu-latest
# Skip `pull_request` runs on local PRs for which `push` runs are already triggered
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
steps:
- name: Checkout 🏷️
uses: actions/checkout@v4
- name: Set up Node 🕹️
uses: actions/setup-node@v4
with:
node-version-file: 'package.json'
- name: Install pnpm ⚙️
uses: pnpm/action-setup@v3
with:
version: 9.x
- name: Restore cache 📌
uses: actions/cache@v4
with:
path: |
~/setup-pnpm/node_modules/.bin/store
~/.cache/Cypress
key: cache-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-
- name: Install dependencies ⚙️
run: pnpm install
- name: Build packages 📦
run: pnpm packages
e2e:
runs-on: ubuntu-latest
# Skip `pull_request` runs on local PRs for which `push` runs are already triggered
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
steps:
- name: Checkout 🏷️
uses: actions/checkout@v4
- name: Set up Node 🕹️
uses: actions/setup-node@v4
with:
node-version-file: 'package.json'
- name: Install pnpm ⚙️
uses: pnpm/action-setup@v3
with:
version: 9.x
- name: Restore cache 📌
uses: actions/cache@v4
with:
path: |
~/setup-pnpm/node_modules/.bin/store
~/.cache/Cypress
key: cache-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-
- name: Install dependencies ⚙️
run: pnpm install
- name: Build demo 🛠️
run: pnpm build
- name: Serve ⚡️
run: pnpm serve & pnpm wait-on http://localhost:5173 -t 1m
- name: Run Cypress 🌳
run: pnpm cypress:run --env requireSnapshots=true
env:
CYPRESS_TAKE_SNAPSHOTS: true
- name: Upload debug screenshots and diffs on failure 🖼️
uses: actions/upload-artifact@v4
if: failure()
with:
name: cypress
path: |
cypress/debug/
cypress/snapshots/**/__diff_output__/
cypress/snapshots/**/__received_output__/