Skip to content

Fix pnpm monorepo isolation logic #177

Fix pnpm monorepo isolation logic

Fix pnpm monorepo isolation logic #177

Workflow file for this run

name: Check
on:
pull_request:
push:
branches: [master]
env:
NX_CACHE_DIRECTORY: .nx/cache
permissions:
contents: read
pull-requests: read
jobs:
changes:
runs-on: ubuntu-latest
outputs:
functions: ${{ steps.filter.outputs.functions }}
lib: ${{ steps.filter.outputs.lib }}
proto: ${{ steps.filter.outputs.proto }}
web: ${{ steps.filter.outputs.web }}
steps:
- name: Check out code
uses: actions/checkout@v6
- uses: dorny/paths-filter@v3
id: filter
with:
filters: |
functions:
- 'functions/**'
- 'package*.json'
- 'nx.json'
- '.github/workflows/check.yml'
- '.github/actions/setup/**'
lib:
- 'lib/**'
- 'package*.json'
- 'nx.json'
- '.github/workflows/check.yml'
- '.github/actions/setup/**'
proto:
- 'proto/**'
- 'package*.json'
- 'nx.json'
- '.github/workflows/check.yml'
- '.github/actions/setup/**'
web:
- 'web/**'
- 'package*.json'
- 'nx.json'
- '.github/workflows/check.yml'
- '.github/actions/setup/**'
functions:
needs: changes
if: ${{ needs.changes.outputs.functions == 'true' }}
name: functions
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v6
- name: Set up environment
uses: ./.github/actions/setup
with:
cache-key-suffix: functions
- name: Build
run: pnpm exec nx build functions
- name: Test
run: pnpm exec nx test functions
- name: Lint
run: pnpm exec nx lint functions
lib:
needs: changes
if: ${{ needs.changes.outputs.lib == 'true' }}
name: lib
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v6
- name: Set up environment
uses: ./.github/actions/setup
with:
cache-key-suffix: lib
- name: Build
run: pnpm exec nx build lib
- name: Test
run: pnpm exec nx test lib
- name: Lint
run: pnpm exec nx lint lib
proto:
needs: changes
if: ${{ needs.changes.outputs.proto == 'true' }}
name: proto
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v6
- name: Set up environment
uses: ./.github/actions/setup
with:
cache-key-suffix: proto
- name: Build
run: pnpm exec nx build proto
- name: Lint
run: pnpm exec nx lint proto
web:
needs: changes
if: ${{ needs.changes.outputs.web == 'true' }}
name: web
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v6
- name: Set up environment
uses: ./.github/actions/setup
with:
cache-key-suffix: web
- name: Install Chrome
uses: browser-actions/setup-chrome@v1
id: setup-chrome
with:
chrome-version: stable
- name: Configure Chrome Environment
shell: bash
run: |
echo "CHROME_BIN=${{ steps.setup-chrome.outputs.chrome-path }}" >> $GITHUB_ENV
echo "CHROME_PATH=${{ steps.setup-chrome.outputs.chrome-path }}" >> $GITHUB_ENV
- name: Build
run: pnpm exec nx build web
- name: Test
run: pnpm exec nx test web
- name: Lint
run: pnpm exec nx lint web
- name: Update test coverage report
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}