|
6 | 6 | paths: |
7 | 7 | - 'universal-telemetry-software/**' |
8 | 8 | - 'pecan/**' |
| 9 | + - 'flight-recorder/**' |
9 | 10 | - '.github/workflows/telemetry-ci.yml' |
10 | 11 | pull_request: |
11 | 12 | paths: |
12 | 13 | - 'universal-telemetry-software/**' |
13 | 14 | - 'pecan/**' |
| 15 | + - 'flight-recorder/**' |
14 | 16 | - '.github/workflows/telemetry-ci.yml' |
15 | 17 |
|
16 | 18 | jobs: |
|
19 | 21 | outputs: |
20 | 22 | telemetry: ${{ steps.filter.outputs.telemetry }} |
21 | 23 | pecan: ${{ steps.filter.outputs.pecan }} |
| 24 | + fdr: ${{ steps.filter.outputs.fdr }} |
22 | 25 | steps: |
23 | 26 | - uses: actions/checkout@v4 |
24 | 27 | - uses: dorny/paths-filter@v3 |
|
29 | 32 | - 'universal-telemetry-software/**' |
30 | 33 | pecan: |
31 | 34 | - 'pecan/**' |
| 35 | + fdr: |
| 36 | + - 'flight-recorder/**' |
32 | 37 |
|
33 | 38 | # ── Build images once, share via artifact ─────────────────────────────── |
34 | 39 | build: |
@@ -123,6 +128,12 @@ jobs: |
123 | 128 | npm ci |
124 | 129 | npx tsc --noEmit |
125 | 130 |
|
| 131 | + - name: Build and typecheck FDR |
| 132 | + working-directory: ./flight-recorder |
| 133 | + run: | |
| 134 | + npm ci |
| 135 | + npx tsc --noEmit |
| 136 | +
|
126 | 137 | - name: Set up Python |
127 | 138 | uses: actions/setup-python@v5 |
128 | 139 | with: |
@@ -569,3 +580,40 @@ jobs: |
569 | 580 | directory: './pecan/dist' |
570 | 581 | gitHubToken: ${{ secrets.GITHUB_TOKEN }} |
571 | 582 | branch: dev |
| 583 | + |
| 584 | + deploy-fdr-cloudflare: |
| 585 | + needs: [unit-tests, integration, vcan] |
| 586 | + runs-on: ubuntu-latest |
| 587 | + if: github.ref == 'refs/heads/main' || github.ref == 'refs/heads/fdr' |
| 588 | + permissions: |
| 589 | + contents: read |
| 590 | + deployments: write |
| 591 | + |
| 592 | + steps: |
| 593 | + - name: Checkout code |
| 594 | + uses: actions/checkout@v4 |
| 595 | + |
| 596 | + - name: Setup Node.js |
| 597 | + uses: actions/setup-node@v4 |
| 598 | + with: |
| 599 | + node-version: '20' |
| 600 | + cache: 'npm' |
| 601 | + cache-dependency-path: flight-recorder/package-lock.json |
| 602 | + |
| 603 | + - name: Install dependencies |
| 604 | + working-directory: ./flight-recorder |
| 605 | + run: npm ci |
| 606 | + |
| 607 | + - name: Build |
| 608 | + working-directory: ./flight-recorder |
| 609 | + run: npm run build |
| 610 | + |
| 611 | + - name: Deploy to Cloudflare Pages |
| 612 | + uses: cloudflare/pages-action@v1 |
| 613 | + with: |
| 614 | + apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} |
| 615 | + accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} |
| 616 | + projectName: 'wfr-fdr' |
| 617 | + directory: './flight-recorder/dist' |
| 618 | + gitHubToken: ${{ secrets.GITHUB_TOKEN }} |
| 619 | + branch: ${{ github.ref_name }} |
0 commit comments