Merge pull request #10 from Tap30/ci/deploy-storybook #4
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Sample workflow for building and deploying a VitePress site to GitHub Pages | |
# | |
name: Deploy VitePress site to Pages | |
on: | |
# Runs on pushes targeting the `main` branch. Change this to `master` if you're | |
# using the `master` branch as the default branch. | |
push: | |
branches: [main] | |
# Allows you to run this workflow manually from the Actions tab | |
workflow_dispatch: | |
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages | |
permissions: | |
contents: read | |
pages: write | |
id-token: write | |
concurrency: | |
group: pages | |
cancel-in-progress: false | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- uses: pnpm/action-setup@v3 | |
with: | |
version: 9 | |
- name: Setup Node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
cache: pnpm # or pnpm / yarn | |
- name: Cache dependencies | |
uses: actions/cache@v3 | |
with: | |
path: ~/.pnpm-store | |
key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} | |
restore-keys: | | |
${{ runner.os }}-pnpm- | |
- name: Setup Pages | |
uses: actions/configure-pages@v4 | |
- name: Install Dependencies | |
run: pnpm install | |
- name: Building Config File from SVG Files | |
run: pnpm pre-build:config | |
- name: Generate Lit Components | |
run: pnpm pre-build:lit | |
- name: Preparing Docs Files to Build | |
run: pnpm pre-build:docs | |
- name: Build Docs | |
run: pnpm docs:build | |
- name: Upload artifact | |
uses: actions/upload-pages-artifact@v3 | |
with: | |
path: docs/.vitepress/dist | |
test: | |
needs: build | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- uses: pnpm/action-setup@v3 | |
with: | |
version: 9 | |
- name: Setup Node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
cache: pnpm | |
- name: Restore cache | |
uses: actions/cache@v3 | |
with: | |
path: ~/.pnpm-store | |
key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} | |
restore-keys: | | |
${{ runner.os }}-pnpm- | |
- name: Install dependencies | |
run: pnpm install | |
- name: Run Tests | |
run: pnpm test | |
deploy: | |
needs: test | |
environment: | |
name: github-pages | |
url: ${{ steps.deployment.outputs.page_url }} | |
runs-on: ubuntu-latest | |
name: Deploy | |
steps: | |
- name: Deploy Vitepress | |
id: deployment | |
uses: actions/deploy-pages@v4 | |
with: | |
artifact_name: vitepress | |
- name: Deploy Storybook | |
uses: bitovi/[email protected] | |
with: | |
artifact_name: storybook | |
install_command: pnpm install | |
build_command: pnpm storybook:build | |
path: storybook-static | |
checkout: false |