fix(deps): update nextjs monorepo to v13.5.8 #1264
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |