Skip to content

chore(deps): update dependencies (non-major) #4347

chore(deps): update dependencies (non-major)

chore(deps): update dependencies (non-major) #4347

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
fetch-depth: 1
- 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: Set up Cypress binary cache
uses: actions/cache@v4
with:
path: ~/.cache/Cypress
key: cypress-${{ runner.os }}-cypress-${{ hashFiles('pnpm-lock.yaml') }}
- 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]
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: true
fetch-depth: 1
- 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: Set up Cypress binary cache
uses: actions/cache@v4
with:
path: ~/.cache/Cypress
key: cypress-${{ runner.os }}-cypress-${{ hashFiles('pnpm-lock.yaml') }}
- name: Install dependencies
run: |
pnpm install
- name: Run unit tests
run: |
pnpm test:all
- name: Perform code coverage report action
uses: codecov/codecov-action@v4
if: ${{ matrix.node-version == 20 && matrix.os == 'ubuntu-latest' }}
with:
fail_ci_if_error: true
token: ${{ secrets.CODECOV_TOKEN }}
e2e:
name: E2E Testing
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
node-version: [20]
browser: [chrome, firefox]
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: true
fetch-depth: 1
- 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: Set up Cypress binary cache
uses: actions/cache@v4
with:
path: ~/.cache/Cypress
key: cypress-${{ runner.os }}-cypress-${{ hashFiles('pnpm-lock.yaml') }}
- name: Install dependencies
run: |
pnpm install
- name: List installed browsers
run: |
pnpm cypress info
- name: Run e2e tests
run: |
pnpm e2e:${{ matrix.browser }}
build:
name: Building
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
node-version: [20]
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: true
fetch-depth: 0 # Keep `0` for git time
- 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: Set up Cypress binary cache
uses: actions/cache@v4
with:
path: ~/.cache/Cypress
key: cypress-${{ runner.os }}-cypress-${{ hashFiles('pnpm-lock.yaml') }}
- name: Install dependencies
run: |
pnpm install
- name: Build application
run: |
pnpm build
- name: Archive production artifacts
uses: actions/upload-artifact@v4
if: ${{ matrix.node-version == 20 && matrix.os == 'ubuntu-latest' }}
with:
name: app
path: .next
publish:
name: Publishment
if: startsWith(github.ref, 'refs/tags/v')
runs-on: ubuntu-latest
needs: [lint, unit, e2e, build]
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: true
fetch-depth: 0
- name: Setup Node environment
uses: actions/setup-node@v4
with:
node-version: 20
architecture: x64
registry-url: https://registry.npmjs.org/
- name: Release to GitHub
run: |
npx changelogithub
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}