Skip to content

Commit 6cfa7ba

Browse files
authored
feat(ci): build the memoryd image (sovereign, decoupled — memory-mesh owns its build) (#42)
memoryd has a Dockerfile (images/memoryd.Dockerfile) but no CI ever built it → not in GAR, so prophet-platform can't deploy it (review-env manifest only). This adds the build via the estate's reusable SocioProphet/.github build-image workflow — same path as prophet-platform/images.yml — publishing memoryd:sha-<commit> to Artifact Registry + cosign-signing the digest. Gated on repo secrets GCP_WORKLOAD_IDENTITY_PROVIDER + GCP_SERVICE_ACCOUNT (WIF). Push/dispatch only (not PR-wired) so it can't go red before those are set. First step of memory-mesh prod deploy; the prophet-platform ApplicationSet + values follow once the image exists.
1 parent e07b83b commit 6cfa7ba

1 file changed

Lines changed: 40 additions & 0 deletions

File tree

.github/workflows/images.yml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# Build the memoryd image through the estate's reusable build-image workflow: push with the immutable
2+
# commit-SHA tag (what the prophet-platform Argo ApplicationSet promotes) + cosign-sign the digest.
3+
# Same path as prophet-platform/.github/workflows/images.yml — memory-mesh owns its own image build
4+
# (sovereign, decoupled), prophet-platform deploys it.
5+
#
6+
# DEPENDS ON repo secrets GCP_WORKLOAD_IDENTITY_PROVIDER + GCP_SERVICE_ACCOUNT (WIF → Artifact Registry).
7+
# Not wired to PRs (push/dispatch only) so it can't go red before those are provisioned.
8+
name: images
9+
10+
on:
11+
push:
12+
branches: [main]
13+
paths:
14+
- 'services/memoryd/**'
15+
- 'images/memoryd.Dockerfile'
16+
- '.github/workflows/images.yml'
17+
workflow_dispatch:
18+
19+
permissions:
20+
contents: read
21+
id-token: write # WIF auth + cosign keyless signing
22+
23+
jobs:
24+
build:
25+
strategy:
26+
fail-fast: false
27+
matrix:
28+
include:
29+
# Dockerfile COPYs from the repo root (services/, specs/, adapters/…), so context is '.'.
30+
- { image: memoryd, context: ., dockerfile: images/memoryd.Dockerfile }
31+
uses: SocioProphet/.github/.github/workflows/build-image.yml@main
32+
with:
33+
image: ${{ matrix.image }}
34+
context: ${{ matrix.context }}
35+
dockerfile: ${{ matrix.dockerfile }}
36+
registry: us-central1-docker.pkg.dev/socioprophet-platform/socioprophet
37+
registry_auth: gar
38+
secrets:
39+
gcp_wif_provider: ${{ secrets.GCP_WORKLOAD_IDENTITY_PROVIDER }}
40+
gcp_service_account: ${{ secrets.GCP_SERVICE_ACCOUNT }}

0 commit comments

Comments
 (0)