Skip to content

rts: diagnostics: increase resource reporting (#4005) #565

rts: diagnostics: increase resource reporting (#4005)

rts: diagnostics: increase resource reporting (#4005) #565

name: "Storybook tests"
permissions: {}
on:
pull_request:
merge_group:
workflow_dispatch:
push:
branches: [master]
jobs:
storybook-tests:
name: "Storybook tests"
strategy:
matrix:
os: ["ubuntu-24.04"]
node_version: ["22.13.0"]
npm_version: ["11.11.0"]
pnpm_version: ["11.10.0"]
runs-on: ${{matrix.os}}
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
fetch-depth: 1
- name: "Deps: pnpm"
uses: pnpm/action-setup@0ebf47130e4866e96fce0953f49152a61190b271 # v6.0.9
with:
version: ${{matrix.pnpm_version}}
- name: "Deps: Node"
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: ${{matrix.node_version}}
cache: "pnpm"
cache-dependency-path: |
src/SIL.XForge.Scripture/ClientApp/pnpm-lock.yaml
src/RealtimeServer/pnpm-lock.yaml
- name: "Deps: npm"
env:
NPM_VERSION: ${{matrix.npm_version}}
run: |
set -xueo pipefail
npm install --global npm@${NPM_VERSION}
- name: Pre-build report
run: |
set -xueo pipefail
lsb_release -a
which node
node --version
which npm
npm --version
which pnpm
pnpm --version
- name: "Ensure desired tool versions"
# The build machine may come with newer tools than we are ready for.
env:
NODE_VERSION: ${{matrix.node_version}}
NPM_VERSION: ${{matrix.npm_version}}
PNPM_VERSION: ${{matrix.pnpm_version}}
run: |
set -xueo pipefail
[[ $(node --version) == v${NODE_VERSION} ]]
[[ $(npm --version) == ${NPM_VERSION} ]]
[[ $(pnpm --version) == ${PNPM_VERSION} ]]
- name: "Deps: RealtimeServer pnpm"
run: cd src/RealtimeServer && (pnpm ci || (sleep 3m && pnpm ci))
- name: "Deps: Frontend pnpm"
run: cd src/SIL.XForge.Scripture/ClientApp && (pnpm ci || (sleep 3m && pnpm ci))
- name: "Build: Backend, RealtimeServer"
run: cd src/RealtimeServer && pnpm run build
- name: "Build: Frontend"
run: cd src/SIL.XForge.Scripture/ClientApp && pnpm run build
- name: Build Storybook
run: cd src/SIL.XForge.Scripture/ClientApp && pnpm run build-storybook --webpack-stats-json
- name: Serve Storybook
run: pnpx http-server src/SIL.XForge.Scripture/ClientApp/storybook-static --port 6006 &
- name: Run Storybook tests
run: cd src/SIL.XForge.Scripture/ClientApp && pnpm run test-storybook --no-index-json
env:
TARGET_URL: "http://localhost:6006"