Skip to content

chore(deps): update nextjs monorepo to v15 (#1276) #4939

chore(deps): update nextjs monorepo to v15 (#1276)

chore(deps): update nextjs monorepo to v15 (#1276) #4939

Workflow file for this run

name: CI
on:
push:
branches:
- main
tags:
- '*'
pull_request:
branches:
- main
jobs:
lint:
name: Linting
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: true
- name: Setup pnpm
uses: pnpm/action-setup@v3
- name: Setup Node environment
uses: actions/setup-node@v4
with:
node-version: 20
architecture: x64
registry-url: https://registry.npmjs.org/
cache: pnpm
- name: Install dependencies
run: |
pnpm install
- name: Run linter tests
run: |
pnpm lint
unit:
name: Unit Testing
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
node-version: [20]
package-manager: [pnpm]
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: true
- name: Setup pnpm
uses: pnpm/action-setup@v3
- name: Setup Node environment
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
architecture: x64
registry-url: https://registry.npmjs.org/
cache: pnpm
- name: Install dependencies
run: |
pnpm install
- name: Run unit tests
run: |
pnpm test:all
pnpm badge
- name: Perform code coverage report action
uses: codecov/codecov-action@v4
if: ${{ matrix.node-version == 20 && matrix.os == 'ubuntu-latest' && matrix.package-manager == 'pnpm' }}
with:
fail_ci_if_error: true
token: ${{ secrets.CODECOV_TOKEN }}
- name: Archive production artifacts
uses: actions/upload-artifact@v4
if: ${{ matrix.node-version == 20 && matrix.os == 'ubuntu-latest' && matrix.package-manager == 'pnpm' }}
with:
name: badges
path: dist
e2e:
name: E2E Testing
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
node-version: [20]
package-manager: [pnpm]
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: true
- name: Reattach HEAD to head ref
run: git switch -C "$(echo ${{ github.head_ref }} | sed -E 's|refs/[a-zA-Z]+/||')"
if: ${{ github.head_ref != '' }}
- name: Reattach HEAD to ref
run: git switch -C "$(echo ${{ github.ref }} | sed -E 's|refs/[a-zA-Z]+/||')"
if: ${{ github.head_ref == '' }}
- name: Setup pnpm
uses: pnpm/action-setup@v3
- name: Setup Node environment
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
architecture: x64
registry-url: https://registry.npmjs.org/
cache: pnpm
- name: Install dependencies
run: |
pnpm install
- name: Run e2e tests
run: |
cp -fr scripts/npmrc .npmrc
pnpm ts-node scripts/e2e.ts
- name: Archive production artifacts
uses: actions/upload-artifact@v4
if: ${{ matrix.node-version == 20 && matrix.os == 'ubuntu-latest' && matrix.package-manager == 'pnpm' }}
with:
name: demos
path: build
build:
name: Build Testing
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
node-version: [20]
package-manager: [pnpm]
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: true
- name: Setup pnpm
uses: pnpm/action-setup@v3
- name: Setup Node environment
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
architecture: x64
registry-url: https://registry.npmjs.org/
cache: pnpm
- name: Install dependencies
run: |
pnpm install
- name: Build packages
run: |
pnpm build
- name: Archive production artifacts
uses: actions/upload-artifact@v4
if: ${{ matrix.node-version == 20 && matrix.os == 'ubuntu-latest' && matrix.package-manager == 'pnpm' }}
with:
name: webpack
path: packages/webpack-template/dist
docs:
name: Documentation
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: true
fetch-depth: 0
- name: Setup pnpm
uses: pnpm/action-setup@v3
- name: Setup Node environment
uses: actions/setup-node@v4
with:
node-version: 20
architecture: x64
registry-url: https://registry.npmjs.org/
cache: pnpm
- name: Install dependencies
run: |
pnpm install
- name: Build documentation
run: |
pnpm build:docs
- name: Archive production artifacts
uses: actions/upload-artifact@v4
with:
name: docs
path: build
publish:
name: Publishment
if: startsWith(github.ref, 'refs/tags/v')
runs-on: ubuntu-latest
needs: [lint, unit, e2e]
steps:
- name: Initialize git configuration
run: |
git config --global core.autocrlf false
git config --global user.email "github-actions[bot]@users.noreply.github.com"
git config --global user.name "github-actions[bot]"
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: true
fetch-depth: 0
- name: Reattach HEAD to head ref
run: git switch -C "$(echo ${{ github.head_ref }} | sed -E 's|refs/[a-zA-Z]+/||')"
if: ${{ github.head_ref != '' }}
- name: Reattach HEAD to ref
run: git switch -C "$(echo ${{ github.ref }} | sed -E 's|refs/[a-zA-Z]+/||')"
if: ${{ github.head_ref == '' }}
- name: Setup pnpm
uses: pnpm/action-setup@v3
- name: Setup Node environment
uses: actions/setup-node@v4
with:
node-version: 20
architecture: x64
registry-url: https://registry.npmjs.org/
cache: pnpm
- name: Install dependencies
run: |
pnpm install
- name: Build packages
run: |
pnpm build
- name: Publish to NPM registry
if: startsWith(github.ref, 'refs/tags/v')
run: |
echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > .npmrc
pnpm lerna publish from-package --no-verify-access --ignore-scripts --yes
- name: Release to GitHub
run: |
npx changelogithub
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
deploy:
name: Deployment
if: ${{ github.ref == 'refs/heads/main' }}
runs-on: ubuntu-latest
needs: [lint, unit, e2e, build, docs]
steps:
- name: Download production artifacts
uses: actions/download-artifact@v4
- name: List production artifacts
run: |
ls -R
working-directory: .
- name: Aggregate production artifacts
run: |
mkdir -p ./build/
cp -fr badges/* ./build/
cp -fr demos/* ./build/
cp -fr docs/* ./build/
cp -fr webpack ./build/
- name: Deploy to GitHub Pages
uses: peaceiris/actions-gh-pages@v4
if: ${{ github.ref == 'refs/heads/main' }}
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./build
force_orphan: true
user_name: 'github-actions[bot]'
user_email: 'github-actions[bot]@users.noreply.github.com'
commit_message: ${{ github.event.head_commit.message }}