From 1b7eab6ccc6b7f170e4b4e38504ebaff4b0b290f Mon Sep 17 00:00:00 2001 From: Rickard Andersson Date: Mon, 21 Aug 2023 15:33:30 +0300 Subject: [PATCH] ci: make separate workflow for deploying to GH pages --- .github/workflows/deploy-storybook.yaml | 71 +++++++++++++++++++++++++ .github/workflows/ui-tests.yaml | 12 ----- 2 files changed, 71 insertions(+), 12 deletions(-) create mode 100644 .github/workflows/deploy-storybook.yaml diff --git a/.github/workflows/deploy-storybook.yaml b/.github/workflows/deploy-storybook.yaml new file mode 100644 index 00000000..81608c78 --- /dev/null +++ b/.github/workflows/deploy-storybook.yaml @@ -0,0 +1,71 @@ +name: 'Deploy Storybook' + +on: + push: + branches: + - main + workflow_dispatch: + +permissions: + contents: read + pages: write + id-token: write + +concurrency: + group: "pages" + cancel-in-progress: false + +jobs: + cache-dependencies: + runs-on: ubuntu-latest + steps: + - name: Checkout Commit + uses: actions/checkout@v2 + - name: Cache yarn dependencies and cypress + uses: actions/cache@v2 + id: yarn-cache + with: + path: | + ~/.cache/Cypress + node_modules + key: ${{ runner.os }}-yarn-v3-${{ hashFiles('**/yarn.lock') }} + restore-keys: | + ${{ runner.os }}-yarn-v3 + - name: Install dependencies if cache invalid + if: steps.yarn-cache.outputs.cache-hit != 'true' + run: yarn + + build-and-deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: cache-dependencies + steps: + - uses: actions/setup-node@v2 + with: + node-version: '18.x' + - name: Setup Pages + uses: actions/configure-pages@v3 + - name: Restore yarn dependencies + uses: actions/cache@v2 + id: yarn-cache + with: + path: | + ~/.cache/Cypress + node_modules + key: ${{ runner.os }}-yarn-v3-${{ hashFiles('**/yarn.lock') }} + restore-keys: | + ${{ runner.os }}-yarn-v3 + - name: Install Playwright + run: npx playwright install --with-deps + - name: Build Storybook + run: yarn build-storybook --quiet + - name: Upload artifact + uses: actions/upload-pages-artifact@v2 + with: + path: './storybook-static' + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v2 + - uses: actions/checkout@v2 diff --git a/.github/workflows/ui-tests.yaml b/.github/workflows/ui-tests.yaml index adffa161..b2557b70 100644 --- a/.github/workflows/ui-tests.yaml +++ b/.github/workflows/ui-tests.yaml @@ -44,9 +44,6 @@ jobs: run: yarn build interaction-and-and-accessibility: - environment: - name: github-pages - url: ${{ steps.deployment.outputs.page_url }} runs-on: ubuntu-latest needs: cache-dependencies steps: @@ -73,12 +70,3 @@ jobs: npx concurrently -k -s first -n "SB,TEST" -c "magenta,blue" \ "npx http-server storybook-static --port 6006 --silent" \ "npx wait-on tcp:127.0.0.1:6006 && yarn test-storybook" - - name: Setup Pages - uses: actions/configure-pages@v3 - - name: Upload artifact - uses: actions/upload-pages-artifact@v2 - with: - path: './storybook-static' - - name: Deploy to GitHub Pages - id: deployment - uses: actions/deploy-pages@v2