1
0
forked from mirror/misskey
misskey/.github/workflows/storybook.yml
Acid Chicken (硫酸鶏) 38d0b62167
build(): Storybook & Chromatic & msw ()
* build(): init

* fix(): invalid name conversion

* build(): load locales and vite config

* refactor(): remove unused imports

* build(): separate definitions and generated codes

* refactor(): remove hatches

* refactor(): module semantics

* refactor(): remove unused common preferences

* fix: typo

* build(): mock assets

* build(): impl `SatisfiesExpression`

* build(): control themes

* refactor(): semantics

* build(): make .storybook as an individual TypeScript project

* style(): use single quote

* build(): avoid intrinsic component names

* chore: suppress linter

* style: typing

* build(): update dependencies

* docs: note about Storybook

* build(): sync

* build(): full reload server on change

* chore: use defaultStore instead

* build(): show popups on Story

* refactor(): remove redundant div

* docs: fix

* build(): interactions

* build(): add an interaction test for `<MkA/>`

* build(): bump storybook

* docs(): mention to pre-build misskey-js

* build(): write stories for `MkAcct`

* build(): write stories for `MkAd`

* build(): fix missing type definition

* build(): use `toHaveTextContent`

* build(): write some stories

* build(): hide internal args

* build(): generate `components/global` stories only

* build(): write stories for `MkMisskeyFlavoredMarkdown`

* fix: conflict errors

* build(): subcomponents on sidebar

* refactor: restore `SatisfiesExpression`

* docs(): note development status

* build(): use chokidar-cli

* docs(): note chokidar-cli mode

* chore(): untrack generated stories files

* fix: pointer handling

* build(): finalize

* chore: add static option to `MkLoading`

* refactor(): bind to local args

* fix: missing case

* revert: restore `SatisfiesExpression`

This reverts commit f246699f38.

* build(): make storybook buildable

* build(): staticify assets

* build(): staticified directory structure

* build(): normalize path for Windows

* ci(): create actions

* build(): ignore tsc errors

* build(): ignore tsc errors

* build(): missing dependencies

* build(): missing dependencies

* build(): use fast-glob

* fix: invalid lockfile

* ci(): increase heap size

* build(): use unpkg for storybook tabler icons

* build(): use unpkg for storybook twemojis

* build(): disable `ProfilePageCat`

* build(): blur `MkA` before interaction ends

* ci(): stabilize

* ci(): fetch-depth

* build(): isChromatic

* ci(): notify on changes

* ci(): fix typo

* ci(): missing working directory

* ci(): skip build

* ci(): fix path

* build(): fails on Windows

* build(): available on Windows

* ci(): disable animation on chromatic

* ci(): add static option to `PageHeader.tabs`

* chore: void

* ci(): change parameters

* docs(): update CONTRIBUTING

* docs(): note about meta overriding and etc.

* ci(): use Chromatic for checks

* ci(): use `pull_request` instead of `pull_request_target` for now

* ci(): use `exitOnceUploaded`

* ci(): reuse built storybook

* ci(): back to `pull_request_target`

* chore: unused dependencies

* style(): reduce prettier indents

* style: note about `TSSatisfiesExpression`
2023-04-04 09:38:34 +09:00

57 lines
1.5 KiB
YAML

name: Storybook
on:
push:
branches:
- master
- develop
pull_request_target:
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:
exitOnceUploaded: true
projectToken: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
storybookBuildDir: storybook-static
workingDir: packages/frontend
- name: Compare on Chromatic
if: github.event_name == 'pull_request_target'
run: pnpm --filter frontend chromatic -d storybook-static --exit-once-uploaded --patch-build ${{ github.head_ref }}...${{ github.base_ref }}
env:
CHROMATIC_PROJECT_TOKEN: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
- name: Upload Artifacts
uses: actions/upload-artifact@v3
with:
name: storybook
path: packages/frontend/storybook-static