Skip to content

chore(deps): update react monorepo #1209

chore(deps): update react monorepo

chore(deps): update react monorepo #1209

Workflow file for this run

name: bbl-nx-ci-cd
on:
push:
branches:
- master
- develop
pull_request:
env:
NX_CACHE_PROJECT_GRAPH: true
NX_CLOUD_DISTRIBUTED_EXECUTION: false
CACHED_DEPENDENCY_PATHS: ${{ github.workspace }}/node_modules
CACHED_BUILD_PATHS: ${{ github.workspace }}/.next
BUILD_CACHE_KEY: ${{ github.sha }}
PNPM_VERSION: 7.27.1
jobs:
job_install_dependencies:
name: Install Dependencies
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- name: Check out current commit (${{ github.sha }})
uses: actions/checkout@v3
- name: Set up pnpm
uses: pnpm/action-setup@v2
with:
version: ${{ env.PNPM_VERSION }}
- name: Set up Node
uses: actions/setup-node@v3
with:
node-version: '16'
- name: Compute dependency cache key
id: compute_lockfile_hash
run: echo "::set-output name=hash::${{ hashFiles('pnpm-lock.yaml') }}"
- name: Check dependency cache
uses: actions/cache@v3
id: cache_dependencies
with:
path: ${{ env.CACHED_DEPENDENCY_PATHS }}
key: ${{ steps.compute_lockfile_hash.outputs.hash }}
- name: Install dependencies
# use '.', not '[]' with hyphenated variables
# https://github.com/nektos/act/issues/104#issuecomment-592892249
if: steps.cache_dependencies.outputs.cache-hit == ''
run: pnpm install --no-frozen-lockfile
outputs:
dependency_cache_key: ${{ steps.compute_lockfile_hash.outputs.hash }}
job_build:
name: Build
needs: job_install_dependencies
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- name: Check out current commit (${{ github.sha }})
uses: actions/checkout@v3
- name: Set up pnpm
uses: pnpm/action-setup@v2
with:
version: ${{ env.PNPM_VERSION }}
- name: Set up Node
uses: actions/setup-node@v3
with:
node-version: '16'
- name: Check dependency cache
uses: actions/cache@v3
with:
path: ${{ env.CACHED_DEPENDENCY_PATHS }}
key: ${{ needs.job_install_dependencies.outputs.dependency_cache_key }}
- name: Check build cache
uses: actions/cache@v3
id: cache_built_packages
with:
path: ${{ env.CACHED_BUILD_PATHS }}
key: ${{ env.BUILD_CACHE_KEY }}
- name: Build packages
if: steps.cache_built_packages.outputs.cache-hit == ''
run: pnpm build:affected:all
outputs:
dependency_cache_key: ${{ needs.job_install_dependencies.outputs.dependency_cache_key }}
test:
name: Test
runs-on: ubuntu-latest
needs: job_build
steps:
- name: Checkout the repository
uses: actions/checkout@v3
with:
submodules: recursive
fetch-depth: 0
- name: Set up pnpm
uses: pnpm/action-setup@v2
with:
version: ${{ env.PNPM_VERSION }}
- name: Derive appropriate SHAs for base and head for `nx affected` commands
uses: nrwl/nx-set-shas@v2
with:
main-branch-name: 'master'
- uses: actions/setup-node@v3
with:
node-version: '16'
- name: Check dependency cache
uses: actions/cache@v3
with:
path: ${{ env.CACHED_DEPENDENCY_PATHS }}
key: ${{ needs.job_build.outputs.dependency_cache_key }}
- name: Check build cache
uses: actions/cache@v3
with:
path: ${{ env.CACHED_BUILD_PATHS }}
key: ${{ env.BUILD_CACHE_KEY }}
- run: pnpm test:affected:ci
production-deployment:
if: ${{ github.ref == 'refs/heads/master' }}
name: Vercel Deployment
runs-on: ubuntu-latest
needs: job_build
steps:
- name: Checkout the repository
uses: actions/checkout@v3
with:
submodules: recursive
fetch-depth: 0
- name: Set up pnpm
uses: pnpm/action-setup@v2
with:
version: ${{ env.PNPM_VERSION }}
- name: Check dependency cache
uses: actions/cache@v3
with:
path: ${{ env.CACHED_DEPENDENCY_PATHS }}
key: ${{ needs.job_build.outputs.dependency_cache_key }}
- name: Check build cache
uses: actions/cache@v3
with:
path: ${{ env.CACHED_BUILD_PATHS }}
key: ${{ env.BUILD_CACHE_KEY }}
- name: Deploy Project Artifacts to Vercel
run: npx vercel --yes --token=${{ secrets.VERCEL_TOKEN }}
storybook-deploy:
if: ${{ github.ref == 'refs/heads/develop' }}
name: Storybook Deployment
runs-on: ubuntu-latest
needs: job_build
steps:
- name: Checkout the repository
uses: actions/checkout@v3
with:
submodules: recursive
fetch-depth: 0
- name: Set up pnpm
uses: pnpm/action-setup@v2
with:
version: ${{ env.PNPM_VERSION }}
- name: Check dependency cache
uses: actions/cache@v3
with:
path: ${{ env.CACHED_DEPENDENCY_PATHS }}
key: ${{ needs.job_build.outputs.dependency_cache_key }}
- name: Check build cache
uses: actions/cache@v3
with:
path: ${{ env.CACHED_BUILD_PATHS }}
key: ${{ env.BUILD_CACHE_KEY }}
- name: Storybook Build
run: pnpm build-storybook:github
- name: Publish to Storybook
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./dist/storybook/
chromatic-deployment:
name: Chromatic Deployment
runs-on: ubuntu-latest
needs: job_build
steps:
- name: Checkout the repository
uses: actions/checkout@v3
with:
submodules: recursive
fetch-depth: 0
- name: Set up pnpm
uses: pnpm/action-setup@v2
with:
version: ${{ env.PNPM_VERSION }}
- name: Check dependency cache
uses: actions/cache@v3
with:
path: ${{ env.CACHED_DEPENDENCY_PATHS }}
key: ${{ needs.job_build.outputs.dependency_cache_key }}
- name: Check build cache
uses: actions/cache@v3
with:
path: ${{ env.CACHED_BUILD_PATHS }}
key: ${{ env.BUILD_CACHE_KEY }}
- name: Storybook Build
run: pnpm build-storybook
- name: Publish to Chromatic
uses: chromaui/action@v1
with:
projectToken: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
storybookBuildDir: dist/storybook/ui-components