feat(api): plateforme engagement #1376
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build Check (TypeScript) | |
| on: | |
| pull_request: | |
| branches: [main, staging] | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| changes: | |
| name: Detect changes | |
| runs-on: ubuntu-latest | |
| outputs: | |
| api: ${{ steps.filter.outputs.api }} | |
| app: ${{ steps.filter.outputs.app }} | |
| analytics: ${{ steps.filter.outputs.analytics }} | |
| widget: ${{ steps.filter.outputs.widget }} | |
| plateform: ${{ steps.filter.outputs.plateform }} | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: dorny/paths-filter@v4.0.1 | |
| id: filter | |
| with: | |
| filters: | | |
| api: | |
| - 'api/**' | |
| - 'packages/**' | |
| app: | |
| - 'app/**' | |
| analytics: | |
| - 'analytics/**' | |
| widget: | |
| - 'widget/**' | |
| plateform: | |
| - 'plateform/**' | |
| api-build: | |
| name: API build | |
| needs: changes | |
| if: needs.changes.outputs.api == 'true' | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-node@v6.3.0 | |
| with: | |
| node-version: "24" | |
| cache: "npm" | |
| cache-dependency-path: "package-lock.json" | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Build (tsc) | |
| run: npm --workspace api run build | |
| app-build: | |
| name: App build | |
| needs: changes | |
| if: needs.changes.outputs.app == 'true' | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-node@v6.3.0 | |
| with: | |
| node-version: "24" | |
| cache: "npm" | |
| cache-dependency-path: "package-lock.json" | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Build (vite) | |
| run: npm --workspace app run build | |
| analytics-build: | |
| name: Analytics build | |
| needs: changes | |
| if: needs.changes.outputs.analytics == 'true' | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-node@v6.3.0 | |
| with: | |
| node-version: "24" | |
| cache: "npm" | |
| cache-dependency-path: "package-lock.json" | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Build (tsc) | |
| run: npm --workspace analytics run build | |
| widget-build: | |
| name: Widget build | |
| needs: changes | |
| if: needs.changes.outputs.widget == 'true' | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-node@v6.3.0 | |
| with: | |
| node-version: "24" | |
| cache: "npm" | |
| cache-dependency-path: "package-lock.json" | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Build (next) | |
| run: npm --workspace widget run build | |
| plateform-build: | |
| name: Plateform build | |
| needs: changes | |
| if: needs.changes.outputs.plateform == 'true' | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-node@v6.3.0 | |
| with: | |
| node-version: "24" | |
| cache: "npm" | |
| cache-dependency-path: "package-lock.json" | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Build (react-router) | |
| run: npm --workspace plateform run build |