diff --git a/.github/workflows/build-and-deploy-storybook.yaml b/.github/workflows/build-and-deploy-storybook.yaml new file mode 100644 index 00000000..d1d770b0 --- /dev/null +++ b/.github/workflows/build-and-deploy-storybook.yaml @@ -0,0 +1,57 @@ +name: Build and Deploy Storybook to Github pages + +on: + push: + branches: + - main + workflow_dispatch: + +permissions: + contents: read + pages: write + id-token: write + +jobs: + build_and_deploy: + name: Build and Deploy Storybook to Github pages + runs-on: ubuntu-latest + timeout-minutes: 10 + + steps: + - name: Git checkout + uses: actions/checkout@v3 + + - name: Set up Node + uses: actions/setup-node@v3 + with: + node-version: '16.x' + + - name: Cache dependencies + id: cache + uses: actions/cache@v3 + with: + path: | + node_modules + ~/.cache/Cypress + key: deps-node-modules-${{ hashFiles('**/yarn.lock') }} + + - name: Install dependencies + if: steps.cache.outputs.cache-hit != 'true' + run: yarn install --frozen-lockfile + + - name: Test + run: yarn test + + - name: Build storybook + shell: bash + run: yarn build-storybook + + - name: Upload + uses: actions/upload-pages-artifact@v2 + with: + path: storybook-static + + - name: Deploy to GitHub Pages + uses: actions/deploy-pages@v3 + with: + token: ${{ github.token }}