feat(v5): full Google Flood Forecasting API surface, live-verified #7
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: Docker | |
| on: | |
| push: | |
| branches: [main] | |
| jobs: | |
| backend-images: | |
| name: Build backend (${{ matrix.target }}) | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - target: lean | |
| build_args: "" | |
| - target: ml | |
| build_args: "INCLUDE_ML=true" | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: docker/setup-buildx-action@v3 | |
| - name: Build backend image (${{ matrix.target }}) | |
| uses: docker/build-push-action@v6 | |
| with: | |
| context: ./backend | |
| push: false | |
| build-args: ${{ matrix.build_args }} | |
| tags: floodops-backend:${{ matrix.target }} | |
| # A silent ML build break (torch / 3.12 incompat, moved weight URL, bad | |
| # layer order) is worse than a red job — the matrix entry is NOT | |
| # continue-on-error, so the ML variant failing fails the workflow. | |
| frontend-image: | |
| name: Build frontend image | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: docker/setup-buildx-action@v3 | |
| - name: Build frontend image | |
| uses: docker/build-push-action@v6 | |
| with: | |
| context: ./frontend | |
| push: false | |
| tags: floodops-frontend:latest |