Skip to content

chore(deps-dev): bump the development-dependencies group across 1 directory with 7 updates #59

chore(deps-dev): bump the development-dependencies group across 1 directory with 7 updates

chore(deps-dev): bump the development-dependencies group across 1 directory with 7 updates #59

Workflow file for this run

name: CI
on:
push:
branches: [ master ]
paths-ignore:
- '**.md'
- '.gitignore'
- '.editorconfig'
- 'docs/**'
pull_request:
branches: [ master ]
paths-ignore:
- '**.md'
- '.gitignore'
- '.editorconfig'
- 'docs/**'
workflow_dispatch:
env:
NODE_VERSION: '20.14.0'
CACHE_KEY_PREFIX: avati-monorepo
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
setup:
name: Setup
runs-on: ubuntu-latest
timeout-minutes: 15
outputs:
cache-hit: ${{ steps.cache.outputs.cache-hit }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set Git case sensitivity
run: git config core.ignorecase false
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "dir=$(yarn config get cacheFolder)" >> $GITHUB_OUTPUT
- name: Cache yarn dependencies
id: cache
uses: actions/cache@v4
with:
path: |
${{ steps.yarn-cache-dir-path.outputs.dir }}
node_modules
packages/*/node_modules
.yarn/cache
.yarn/install-state.gz
key: ${{ env.CACHE_KEY_PREFIX }}-${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock', 'package.json', 'packages/*/package.json') }}
restore-keys: |
${{ env.CACHE_KEY_PREFIX }}-${{ runner.os }}-yarn-
- name: Install dependencies
run: |
yarn install
# yarn dedupe
# yarn why # Log dependency tree for debugging
- name: Validate package.json files
run: node -e "['package.json', ...require('glob').sync('packages/*/package.json')].forEach(f => JSON.parse(require('fs').readFileSync(f)))"
lint:
name: Lint
needs: setup
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
- name: Install dependencies
if: needs.setup.outputs.cache-hit != 'true'
run: yarn install
- name: Restore cache
uses: actions/cache@v4
with:
path: |
node_modules
packages/*/node_modules
.yarn/cache
.yarn/install-state.gz
key: ${{ env.CACHE_KEY_PREFIX }}-${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock', 'package.json', 'packages/*/package.json') }}
- name: ESLint
run: yarn lint
- name: Type check
run: yarn type-check
test:
name: Test
needs: setup
runs-on: ubuntu-latest
timeout-minutes: 15
strategy:
matrix:
node: [18, 20]
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
- name: Restore cache
uses: actions/cache@v4
with:
path: |
node_modules
packages/*/node_modules
.yarn/cache
.yarn/install-state.gz
key: ${{ env.CACHE_KEY_PREFIX }}-${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock', 'package.json', 'packages/*/package.json') }}
- name: Install dependencies
if: needs.setup.outputs.cache-hit != 'true'
run: yarn install
- name: Run tests
run: yarn test --ci --coverage --runInBand
- name: Upload coverage reports
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./coverage/lcov.info
flags: unittests
name: codecov-umbrella
fail_ci_if_error: false
build:
name: Build
needs: [lint, test]
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
- name: Restore cache
uses: actions/cache@v4
with:
path: |
node_modules
packages/*/node_modules
.yarn/cache
.yarn/install-state.gz
key: ${{ env.CACHE_KEY_PREFIX }}-${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock', 'package.json', 'packages/*/package.json') }}
- name: Install dependencies
if: needs.setup.outputs.cache-hit != 'true'
run: yarn install
- name: Build packages
run: |
yarn clean
yarn build
- name: Upload build artifacts
uses: actions/upload-artifact@v4
with:
name: dist
path: packages/*/dist
retention-days: 7