Fix storybook build & run it in CI as dry-run (#32488)

* feat: add dry run of storybook build in merge queue

* Reuse build from storybook build job

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Use nx to build library before building storybook

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
This commit is contained in:
Florian Duros
2026-02-17 11:41:11 +01:00
committed by GitHub
parent 8a85efcfd6
commit 33af62965a
5 changed files with 70 additions and 22 deletions
@@ -0,0 +1,36 @@
name: Build shared component storybook
on:
merge_group: {}
pull_request: {}
workflow_call: {}
permissions: {}
jobs:
doc:
name: Build storybook
runs-on: ubuntu-latest
steps:
- name: 🧮 Checkout code
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
- uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4
- name: 🔧 Pnpm cache
uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6
with:
cache: "pnpm"
node-version-file: package.json
- name: 🔨 Install dependencies
working-directory: packages/shared-components
run: "pnpm install --frozen-lockfile"
- name: 📖 Build Storybook
working-directory: packages/shared-components
run: pnpm build:storybook
- uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6
with:
name: shared-components-storybook
path: packages/shared-components/storybook-static
retention-days: 1
@@ -10,34 +10,24 @@ on:
permissions: {}
jobs:
doc:
build:
name: Build storybook
uses: ./.github/workflows/shared-component-storybook-build.yml
publish:
name: Publish storybook
runs-on: ubuntu-latest
needs: build
environment: SharedComponents
steps:
- name: 🧮 Checkout code
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
- uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4
- name: 🔧 Pnpm cache
uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6
- uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7
with:
cache: "pnpm"
node-version-file: package.json
- name: 🔨 Install dependencies
working-directory: packages/shared-components
run: "pnpm install --frozen-lockfile"
- name: 📖 Build Storybook
working-directory: packages/shared-components
run: pnpm build:storybook
name: shared-components-storybook
path: storybook-static
- name: 🚀 Deploy to Cloudflare Pages
uses: cloudflare/wrangler-action@9681c2997648301493e78cacbfb790a9f19c833f # v3
with:
apiToken: ${{ secrets.CF_PAGES_TOKEN }}
accountId: ${{ secrets.CF_PAGES_ACCOUNT_ID }}
workingDirectory: "packages/shared-components"
packageManager: "pnpm"
command: pages deploy storybook-static --project-name=shared-components-storybook
+3
View File
@@ -5,5 +5,8 @@
"build": {
"dependsOn": ["^build", "prebuild:*"]
}
},
"namedInputs": {
"src": ["{projectRoot}/src/**/*"]
}
}
+2 -2
View File
@@ -44,8 +44,8 @@
"build": "nx build",
"prepack": "pnpm run build",
"storybook": "storybook dev -p 6007",
"build:storybook": "pnpm build:doc && storybook build && node scripts/storybook-build-i18n.ts",
"build:doc": "typedoc",
"build:storybook": "nx run @element-hq/web-shared-components:storybook",
"build:doc": "nx run @element-hq/web-shared-components:typedoc",
"lint": "pnpm lint:types && pnpm lint:js",
"lint:js": "eslint --max-warnings 0 src && prettier --check .",
"lint:types": "tsc --noEmit && tsc --noEmit -p tsconfig.node.json"
+20 -1
View File
@@ -5,7 +5,7 @@
"build": {
"cache": true,
"command": "vite build",
"inputs": ["{projectRoot}/src/**/*"],
"inputs": ["src"],
"outputs": ["{projectRoot}/dist"],
"options": { "cwd": "packages/shared-components" }
},
@@ -13,6 +13,25 @@
"command": "vite build --watch",
"options": { "cwd": "packages/shared-components" },
"continuous": true
},
"typedoc": {
"cache": "true",
"command": "typedoc",
"inputs": ["src"],
"outputs": ["{projectRoot}/typedoc"],
"options": { "cwd": "packages/shared-components" }
},
"storybook": {
"cache": "true",
"inputs": ["src", "{projectRoot}/.storybook", "{projectRoot}/typedoc"],
"outputs": ["{projectRoot}/storybook-static"],
"executor": "nx:run-commands",
"options": {
"commands": ["storybook build", "node scripts/storybook-build-i18n.ts"],
"parallel": false,
"cwd": "packages/shared-components"
},
"dependsOn": ["build", "typedoc"]
}
}
}