Skip to content

Lint Test Build

Lint Test Build #12

name: Lint Test Build
on:
push:
branches:
- develop
pull_request:
branches:
- develop
workflow_dispatch:
jobs:
install-deps:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: test
uses: pnpm/action-setup@v3
with:
version: 8.15.1
# Cache node_modules
- uses: actions/setup-node@v4
with:
node-version: 22.x
cache: 'pnpm'
path: node_modules
key: cache-node-modules-${{ hashFiles('pnpm-lock.yaml') }}
- name: PNPM install based on lockfile
run: pnpm install --frozen-lockfile
lint:
runs-on: ubuntu-latest
needs: install-deps
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- run: git fetch --no-tags --prune --depth=1 origin develop
- name: Cache node modules
uses: actions/cache@v4
with:
path: node_modules
key: cache-node-modules-${{ hashFiles('pnpm-lock.yaml') }}
- run: nx affected --target=lint --parallel=3 --base=origin/develop
test:
runs-on: ubuntu-latest
needs: install-deps
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- run: git fetch --no-tags --prune --depth=1 origin develop
- name: Cache node modules
uses: actions/cache@v4
with:
path: node_modules
key: cache-node-modules-${{ hashFiles('pnpm-lock.yaml') }}
- run: nx affected --target=test --parallel=3 --configuration=ci --base=origin/develop
build:
runs-on: ubuntu-latest
needs: install-deps
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- run: git fetch --no-tags --prune --depth=1 origin develop
- name: Cache node modules
uses: actions/cache@v4
with:
path: node_modules
key: cache-node-modules-${{ hashFiles('pnpm-lock.yaml') }}
- run: nx affected --target=build --parallel=3 --configuration=ci --base=origin/develop