Skip to content

fix(deps): lock file maintenance npm dependencies #1935

fix(deps): lock file maintenance npm dependencies

fix(deps): lock file maintenance npm dependencies #1935

name: Quality Checks
on:
pull_request:
push:
branches: [main]
paths-ignore:
- "README.md"
- "env.example"
- ".vscode/**"
- "public/pagefind/**"
- "**/pagefind/**"
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
NODE_ENV: development
HUSKY: 0
jobs:
install:
name: Install Dependencies
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: 24
cache: "npm"
- name: Install Dependencies
run: npm ci
quality:
needs: install
name: Code Quality
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: 24
cache: "npm"
- name: Install Dependencies
run: npm ci
- name: Run Type Check
run: npm run typecheck
- name: Run ESLint
run: npm run lint
- name: Run Prettier Check
run: npm run format:check
- name: Run Markdown Lint Check
run: npm run lint:md
build:
needs: quality
name: Build
runs-on: ubuntu-latest
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: 24
cache: "npm"
- name: Install Dependencies
run: npm ci
- name: Build
run: npm run build
env:
ASTRO_TELEMETRY_DISABLED: 1
status-check:
needs: [install, quality, build]
name: Final Status Check
runs-on: ubuntu-latest
if: always()
steps:
- name: Check Workflow Status
run: |
if [[ "${{ contains(needs.*.result, 'failure') }}" == "true" ]]; then
echo "❌ Workflow failed because one or more jobs failed"
exit 1
elif [[ "${{ contains(needs.*.result, 'cancelled') }}" == "true" ]]; then
echo "⚠️ Workflow cancelled because one or more jobs were cancelled"
exit 1
else
echo "✅ All jobs completed successfully"
fi