Skip to content

chore(deps): bump tailwindcss from 4.2.2 to 4.2.4 #50

chore(deps): bump tailwindcss from 4.2.2 to 4.2.4

chore(deps): bump tailwindcss from 4.2.2 to 4.2.4 #50

Workflow file for this run

name: CI
on:
push:
branches:
- main
pull_request:
branches:
- main
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
PNPM_VERSION: '10.33.0'
NODE_VERSION: '24'
jobs:
lint-and-format:
name: Lint & Format
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Setup pnpm
uses: pnpm/action-setup@v5
with:
version: ${{ env.PNPM_VERSION }}
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'pnpm'
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Run lint
run: pnpm run lint
- name: Check formatting
run: pnpm run format:check
typecheck:
name: Typecheck & Build
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Setup pnpm
uses: pnpm/action-setup@v5
with:
version: ${{ env.PNPM_VERSION }}
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'pnpm'
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Build all packages (includes typecheck via tsc)
run: pnpm run build
test:
name: Test
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Setup pnpm
uses: pnpm/action-setup@v5
with:
version: ${{ env.PNPM_VERSION }}
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'pnpm'
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Install Chromium for Puppeteer
run: npx puppeteer browsers install chrome
working-directory: packages/renderer-pdf
- name: Run tests
run: pnpm test
env:
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: 'true'
- name: Upload test results
if: always()
uses: actions/upload-artifact@v7
with:
name: test-results
path: |
**/test-results/**
**/coverage/**
if-no-files-found: ignore
retention-days: 7
sonar:
name: SonarCloud Analysis
runs-on: ubuntu-latest
needs: [test]
steps:
- name: Checkout
uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Setup pnpm
uses: pnpm/action-setup@v5
with:
version: ${{ env.PNPM_VERSION }}
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'pnpm'
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Install Chromium for Puppeteer
run: npx puppeteer browsers install chrome
working-directory: packages/renderer-pdf
- name: Run tests with coverage
run: pnpm run test:coverage
env:
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: 'true'
- name: SonarCloud Scan
uses: SonarSource/sonarqube-scan-action@v6
env:
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
build-docker:
name: Docker Build (verify)
runs-on: ubuntu-latest
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
needs: [typecheck, test]
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v4
- name: Build Docker image (no push — verification only)
uses: docker/build-push-action@v7
with:
context: .
push: false
tags: ghcr.io/nextreport/engine:ci-test
cache-from: type=gha
cache-to: type=gha,mode=max