summaryrefslogtreecommitdiff
path: root/.github/workflows/storybook.yml
blob: 17bb2fd8740e0239871605bedcddc6bff64e4e14 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
name: Storybook

on:
  push:
    branches:
      - master
      - develop
  pull_request:

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v3.3.0
      with:
        fetch-depth: 0
        submodules: true
    - name: Install pnpm
      uses: pnpm/action-setup@v2
      with:
        version: 7
        run_install: false
    - name: Use Node.js 18.x
      uses: actions/setup-node@v3.6.0
      with:
        node-version: 18.x
        cache: 'pnpm'
    - run: corepack enable
    - run: pnpm i --frozen-lockfile
    - name: Check pnpm-lock.yaml
      run: git diff --exit-code pnpm-lock.yaml
    - name: Build misskey-js
      run: pnpm --filter misskey-js build
    - name: Build storybook
      run: pnpm --filter frontend build-storybook
      env:
        NODE_OPTIONS: "--max_old_space_size=7168"
    - name: Publish to Chromatic
      id: chromatic
      uses: chromaui/action@v1
      with:
        exitZeroOnChanges: false
        projectToken: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
        storybookBuildDir: storybook-static
        workingDir: packages/frontend
    - name: Notify on changes
      uses: actions/github-script@v6.4.0
      if: failure()
      with:
        github-token: ${{ secrets.GITHUB_TOKEN }}
        script: |
          github.rest.issues.createComment({
            issue_number: context.issue.number,
            owner: context.repo.owner,
            repo: context.repo.repo,
            body: 'Chromatic has detected ${{ steps.chromatic.outputs.changeCount }} changes in the Storybook. [Check it out](${{ steps.chromatic.outputs.url }}).'
          })
    - name: Upload Artifacts
      uses: actions/upload-artifact@v3
      with:
        name: storybook
        path: packages/frontend/storybook-static