Skip to content

chore(deps-dev): bump the eslint group across 1 directory with 6 updates #1242

chore(deps-dev): bump the eslint group across 1 directory with 6 updates

chore(deps-dev): bump the eslint group across 1 directory with 6 updates #1242

name: 'Build test and lint project on PR'
on:
pull_request:
branches:
- main
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest
outputs:
src: ${{ steps.filter.outputs.src }}
steps:
- uses: actions/checkout@v7
- uses: dorny/paths-filter@v4
id: filter
with:
filters: |
src:
- 'src/**'
- 'public/**'
- 'scripts/**'
- 'package.json'
- 'pnpm-lock.yaml'
- 'tsconfig.json'
- 'astro.config.mjs'
- 'eslint.config.js'
- 'vitest.config.ts'
- 'Dockerfile'
- '.github/workflows/build-and-test-on-pr.yml'
build:
needs: changes
if: needs.changes.outputs.src == 'true'
runs-on: ubuntu-latest
permissions:
contents: read
packages: read
actions: read
steps:
- name: Checkout code
uses: actions/checkout@v7
- name: Install pnpm
uses: pnpm/action-setup@v6
- name: Use Node.js
uses: actions/setup-node@v7
with:
node-version-file: .node-version
cache: 'pnpm'
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Build project
run: pnpm build
test:
needs: changes
if: needs.changes.outputs.src == 'true'
runs-on: ubuntu-latest
permissions:
contents: read
packages: read
actions: read
steps:
- name: Checkout code
uses: actions/checkout@v7
- name: Install pnpm
uses: pnpm/action-setup@v6
- name: Use Node.js
uses: actions/setup-node@v7
with:
node-version-file: .node-version
cache: 'pnpm'
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Run tests
run: pnpm test
lint:
needs: changes
if: needs.changes.outputs.src == 'true'
runs-on: ubuntu-latest
permissions:
contents: read
packages: read
actions: read
steps:
- name: Checkout code
uses: actions/checkout@v7
- name: Install pnpm
uses: pnpm/action-setup@v6
- name: Use Node.js
uses: actions/setup-node@v7
with:
node-version-file: .node-version
cache: 'pnpm'
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Run linter
run: pnpm lint:ci
check_format:
needs: changes
if: needs.changes.outputs.src == 'true'
runs-on: ubuntu-latest
permissions:
contents: read
packages: read
actions: read
steps:
- name: Checkout code
uses: actions/checkout@v7
- name: Install pnpm
uses: pnpm/action-setup@v6
- name: Use Node.js
uses: actions/setup-node@v7
with:
node-version-file: .node-version
cache: 'pnpm'
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Check formatting
run: pnpm fmt:check