waveterm/.github/workflows/deploy-docsite.yml
Evan Simkowitz e5f98c6475
Update our build workflows to use NodeJS 22 (#1285)
NodeJS 20 is almost EOL so I'm updating our workflows to use NodeJS 22.
This does not change anything about our app, which will still use NodeJS
20 until Electron shifts away from it. NodeJS 22 is fully
backwards-compatible with NodeJS 20 so there's no issue from a testing
standpoint.
2024-11-13 21:06:48 -08:00

73 lines
2.3 KiB
YAML

name: Docsite and Storybook CI/CD
run-name: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' && 'Build and Deploy' || 'Test Build' }} Docsite and Storybook
env:
NODE_VERSION: 22
on:
push:
branches:
- main
workflow_dispatch:
# Also run any time a PR is opened targeting the docs or storybook resources
pull_request:
branches:
- main
paths:
- "docs/**"
- "storybook/**"
- "**/*.story.*"
- "**/*.stories.*"
- ".github/workflows/deploy-docsite.yml"
jobs:
build:
name: Build Docsite
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-node@v4
with:
node-version: ${{env.NODE_VERSION}}
- name: Install yarn
run: |
corepack enable
yarn install
- name: Build docsite
run: yarn build
working-directory: docs/
- name: Build Storybook
run: yarn build-storybook
- name: Copy Storybook to docsite output
run: cp -r storybook-static docs/build/storybook
- name: Upload Build Artifact
# Only upload the build artifact when pushed to the main branch
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
uses: actions/upload-pages-artifact@v3
with:
path: docs/build
deploy:
name: Deploy to GitHub Pages
# Only deploy when pushed to the main branch
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
needs: build
# Grant GITHUB_TOKEN the permissions required to make a Pages deployment
permissions:
pages: write # to deploy to Pages
id-token: write # to verify the deployment originates from an appropriate source
# Deploy to the github-pages environment
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4