Repository navigation
chore: bump bmad-crew image to sha-e42fd10 #47
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-image | |
| # Builds and pushes TWO container images to GHCR on every push to main/master | |
| # or on a version tag, using the repo-scoped GITHUB_TOKEN (no personal PAT). | |
| # | |
| # ghcr.io/isitobservable/bmad-crew — FastAPI backend (bmad-crew/) | |
| # ghcr.io/isitobservable/bmad-crew-ui — Next.js + CopilotKit frontend (ui/) | |
| # | |
| # Both jobs run on every push; GHA layer cache keeps reruns fast. | |
| on: | |
| push: | |
| branches: [main, master] | |
| tags: ['v*'] | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| packages: write | |
| jobs: | |
| # ── Backend: FastAPI BMAD crew ────────────────────────────────────────────── | |
| build-backend: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: docker/setup-buildx-action@v3 | |
| - name: Log in to GHCR | |
| uses: docker/login-action@v3 | |
| with: | |
| registry: ghcr.io | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Derive backend image tags | |
| id: meta | |
| uses: docker/metadata-action@v5 | |
| with: | |
| images: ghcr.io/isitobservable/bmad-crew | |
| tags: | | |
| type=raw,value=latest | |
| type=raw,value=1.0.0 | |
| type=sha | |
| type=semver,pattern={{version}} | |
| - name: Build and push backend | |
| uses: docker/build-push-action@v6 | |
| with: | |
| # Build context is repo root; Dockerfile COPYs from bmad-crew/. | |
| context: . | |
| file: Dockerfile | |
| platforms: linux/amd64 | |
| push: true | |
| tags: ${{ steps.meta.outputs.tags }} | |
| labels: ${{ steps.meta.outputs.labels }} | |
| cache-from: type=gha | |
| cache-to: type=gha,mode=max | |
| # ── Frontend: Next.js + CopilotKit UI ─────────────────────────────────────── | |
| build-ui: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: docker/setup-buildx-action@v3 | |
| - name: Log in to GHCR | |
| uses: docker/login-action@v3 | |
| with: | |
| registry: ghcr.io | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Derive UI image tags | |
| id: meta | |
| uses: docker/metadata-action@v5 | |
| with: | |
| images: ghcr.io/isitobservable/bmad-crew-ui | |
| tags: | | |
| type=raw,value=latest | |
| type=raw,value=1.0.0 | |
| type=sha | |
| type=semver,pattern={{version}} | |
| - name: Build and push UI | |
| uses: docker/build-push-action@v6 | |
| with: | |
| # Build context is ui/ — Dockerfile lives there and COPYs relative paths. | |
| context: ui | |
| file: ui/Dockerfile | |
| platforms: linux/amd64 | |
| push: true | |
| tags: ${{ steps.meta.outputs.tags }} | |
| labels: ${{ steps.meta.outputs.labels }} | |
| cache-from: type=gha | |
| cache-to: type=gha,mode=max | |
| build-args: | | |
| # Bake /api/crew as the browser-side base URL so ALL fetch/EventSource | |
| # calls from the browser use relative paths that Next.js rewrites | |
| # server-side to the FastAPI pod (BMAD_CREW_URL in the ConfigMap). | |
| # The image is cluster-portable: no rebuild when the cluster IP changes. | |
| # Override only if you expose FastAPI directly to the browser. | |
| NEXT_PUBLIC_BMAD_CREW_URL=/api/crew |