Skip to content
Open
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
08c30be
Storybook Deployment: Add automatic workflows
May 13, 2026
3a74902
Storybook Deployment: Fix deploy job permissions & order issues
May 13, 2026
08a42d5
Update environment name
r-farkhutdinov May 13, 2026
8681147
Storybook Deployment: Create meta file after checkout
May 13, 2026
b6547a4
Storybook Deployment: Add wait-for-pages-deployment flag & add enviro…
May 13, 2026
7a5bb9e
Storybook Deployment: Replace dawidd6/action-download-artifact with t…
Jun 8, 2026
71223f8
Storybook Deployment: Remove environment for build; update ubuntu ver…
Jun 8, 2026
d806684
Storybook Deployment: Restore ubuntu version
Jun 8, 2026
4750088
Storybook Deployment: Update paths
Jun 8, 2026
3d05ebc
Storybook Deployment: Update node version
Jun 8, 2026
9c79dee
Restore correct artifacts & meta paths
Jun 8, 2026
e1df699
Storybook Deployment: Add summarize step for Deploy; update actions v…
Jun 9, 2026
bf115f8
Storybook Deployment: Set runners to ubuntu-slim
Jun 9, 2026
a190504
Storybook Deployment: Check label presence in decide action for PR cl…
Jun 9, 2026
07fdcd3
Storybook Deployment: Add build run link & build WF summary
Jun 9, 2026
353c418
Storybook Deployment: Update GH Pages link & revert ubuntu version
Jun 9, 2026
f7aa610
Storybook Deployment: Update environment to storybook
Jun 9, 2026
5042180
Storybook Deployment: Restrict forks deployments & merge WFs
Jun 10, 2026
1f3d92d
Storybook Deployment: Split to two jobs & add environment to add depl…
Jun 10, 2026
9d7a393
Storybook Deployment: Make names static
Jun 10, 2026
9f632a6
Storybook Deployment: Add PR number to run name
Jun 10, 2026
1f5fed8
Storybook Deployment: Add PR title to run name
Jun 10, 2026
335fe77
Storybook Deployment: Update run name
Jun 10, 2026
4789259
Storybook Deployment: Add static environment
Jun 10, 2026
41512e1
Storybook Deployment: Handle closed re-deploy case & add wait-for-pag…
Jun 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
116 changes: 116 additions & 0 deletions .github/workflows/pr-storybook-deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
name: PR Storybook - Preview
run-name: "PR #${{ github.event.pull_request.number }}: ${{ github.event.pull_request.title }}"

on:
pull_request:
branches:
- 26_1
types:
- opened
- reopened
- synchronize
- labeled
- unlabeled
- closed

permissions:
Comment thread
r-farkhutdinov marked this conversation as resolved.
contents: write

concurrency:
group: preview-${{ github.event.pull_request.number }}
cancel-in-progress: true

Comment thread
r-farkhutdinov marked this conversation as resolved.
Comment thread
r-farkhutdinov marked this conversation as resolved.
env:
SOURCE_DIR: ./apps/react-storybook/storybook-static

Comment thread
r-farkhutdinov marked this conversation as resolved.
jobs:
deploy:
name: Build & Deploy
runs-on: ubuntu-latest
timeout-minutes: 20
if: >-
github.event.pull_request.head.repo.full_name == github.repository &&
(
(github.event.action == 'labeled' && github.event.label.name == 'storybook') ||
(github.event.action != 'labeled' && github.event.action != 'closed' && contains(github.event.pull_request.labels.*.name, 'storybook'))
)
environment:
name: storybook
url: https://devexpress.github.io/DevExtreme/preview/pr-${{ github.event.pull_request.number }}

steps:
- name: Checkout repository
uses: actions/checkout@v6
with:
submodules: true
fetch-depth: 1

- name: Use Node.js
uses: actions/setup-node@v6
with:
node-version-file: '.node-version'

- name: Setup pnpm
uses: pnpm/action-setup@v6
with:
run_install: false

- name: Get pnpm store directory
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV

- name: Setup pnpm + nx cache
uses: actions/cache@v5
with:
path: |
${{ env.STORE_PATH }}
.nx/cache
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store

- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Build Storybook preview (static)
run: pnpm nx build devextreme-react-storybook

- name: Deploy PR preview
uses: rossjrw/pr-preview-action@ffa7509e91a3ec8dfc2e5536c4d5c1acdf7a6de9 # v1.8.1
with:
action: deploy
pr-number: ${{ github.event.pull_request.number }}
source-dir: ${{ env.SOURCE_DIR }}
preview-branch: gh-pages
umbrella-dir: preview
comment: false
token: ${{ github.token }}
wait-for-pages-deployment: true

remove:
name: Remove preview
runs-on: ubuntu-latest
timeout-minutes: 10
if: >-
github.event.pull_request.head.repo.full_name == github.repository &&
(
(github.event.action == 'closed' && contains(github.event.pull_request.labels.*.name, 'storybook')) ||
(github.event.action == 'unlabeled' && github.event.label.name == 'storybook')
)

steps:
- name: Checkout repository
uses: actions/checkout@v6

- name: Remove PR preview
uses: rossjrw/pr-preview-action@ffa7509e91a3ec8dfc2e5536c4d5c1acdf7a6de9 # v1.8.1
with:
action: remove
pr-number: ${{ github.event.pull_request.number }}
source-dir: ${{ env.SOURCE_DIR }}
preview-branch: gh-pages
umbrella-dir: preview
comment: false
token: ${{ github.token }}
wait-for-pages-deployment: true
Loading