Skip to content

Commit 4759c60

Browse files
committed
feat: also publish translator image to ghcr and GCP
1 parent 84d3cef commit 4759c60

File tree

3 files changed

+96
-19
lines changed

3 files changed

+96
-19
lines changed

.github/workflows/publish-image-sequencer-multiple-registries.yaml

Lines changed: 2 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
name: Build and Push Sequencer Docker Image to Github and Google Registries
22
on:
33
push: #TODO fix me to push on main
4+
# branches:
5+
# - main
46

57
env:
68
GOOGLE_REGISTRY: europe-west6-docker.pkg.dev
@@ -28,37 +30,19 @@ jobs:
2830
username: ${{ github.repository_owner }}
2931
password: ${{ secrets.GITHUB_TOKEN }}
3032

31-
- name: Debug Info
32-
run: |
33-
echo "Repository: ${{ github.repository }}"
34-
echo "Repository Owner: ${{ github.repository_owner }}"
35-
echo "Actor: ${{ github.actor }}"
36-
echo "Ref: ${{ github.ref }}"
37-
3833
- name: Configure Google Cloud credentials
3934
uses: google-github-actions/auth@v2
4035
with:
4136
workload_identity_provider: ${{ env.WORKLOAD_IDENTITY_PROVIDER }}
4237
service_account: 'cloud-run-service-account@metabased-testnet.iam.gserviceaccount.com'
4338

44-
- name: Debug Google Auth
45-
run: |
46-
gcloud auth list
47-
gcloud config get-value project
48-
gcloud config get-value account
49-
5039
- name: Set up Cloud SDK
5140
uses: google-github-actions/setup-gcloud@v2
5241

5342
- name: Configure docker auth for GAR
5443
run: |
5544
gcloud auth configure-docker ${{ env.GOOGLE_REGISTRY }} --quiet
5645
57-
- name: Debug Docker Config
58-
run: |
59-
cat ~/.docker/config.json
60-
docker info
61-
6246
- name: Set up QEMU
6347
uses: docker/setup-qemu-action@v3
6448

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
name: Build and Push Translator Docker Image to Github and Google Registries
2+
on:
3+
push: #TODO fix me to push on main
4+
# branches:
5+
# - main
6+
7+
env:
8+
GOOGLE_REGISTRY: europe-west6-docker.pkg.dev
9+
PROJECT_ID: metabased-testnet
10+
REPO_NAME: metabased-rollup
11+
SERVICE_NAME: metabased-translator
12+
WORKLOAD_IDENTITY_PROVIDER: projects/112197761096/locations/global/workloadIdentityPools/cloud-run-github-pool/providers/id-001
13+
14+
jobs:
15+
docker:
16+
runs-on: ubuntu-latest
17+
permissions:
18+
contents: 'read'
19+
id-token: 'write'
20+
packages: 'write'
21+
22+
steps:
23+
- name: Checkout repository
24+
uses: actions/checkout@v4
25+
26+
- name: Login to GitHub Container Registry
27+
uses: docker/login-action@v3
28+
with:
29+
registry: ghcr.io
30+
username: ${{ github.repository_owner }}
31+
password: ${{ secrets.GITHUB_TOKEN }}
32+
33+
- name: Debug Info
34+
run: |
35+
echo "Repository: ${{ github.repository }}"
36+
echo "Repository Owner: ${{ github.repository_owner }}"
37+
echo "Actor: ${{ github.actor }}"
38+
echo "Ref: ${{ github.ref }}"
39+
40+
- name: Configure Google Cloud credentials
41+
uses: google-github-actions/auth@v2
42+
with:
43+
workload_identity_provider: ${{ env.WORKLOAD_IDENTITY_PROVIDER }}
44+
service_account: 'cloud-run-service-account@metabased-testnet.iam.gserviceaccount.com'
45+
46+
- name: Debug Google Auth
47+
run: |
48+
gcloud auth list
49+
gcloud config get-value project
50+
gcloud config get-value account
51+
52+
- name: Set up Cloud SDK
53+
uses: google-github-actions/setup-gcloud@v2
54+
55+
- name: Configure docker auth for GAR
56+
run: |
57+
gcloud auth configure-docker ${{ env.GOOGLE_REGISTRY }} --quiet
58+
59+
- name: Debug Docker Config
60+
run: |
61+
cat ~/.docker/config.json
62+
docker info
63+
64+
- name: Set up QEMU
65+
uses: docker/setup-qemu-action@v3
66+
67+
- name: Set up Docker Buildx
68+
uses: docker/setup-buildx-action@v3
69+
70+
- name: Extract metadata for Docker
71+
id: meta
72+
uses: docker/metadata-action@v5
73+
with:
74+
images: |
75+
ghcr.io/${{ github.repository }}/${{ env.SERVICE_NAME }}
76+
${{ env.GOOGLE_REGISTRY }}/${{ env.PROJECT_ID }}/cloud-run-source-deploy/${{ env.REPO_NAME }}/${{ env.SERVICE_NAME }}
77+
tags: |
78+
type=sha,format=long
79+
type=semver,pattern={{version}}
80+
type=raw,value=latest,enable={{is_default_branch}}
81+
82+
- name: Build and push
83+
uses: docker/build-push-action@v6
84+
with:
85+
context: .
86+
platforms: linux/amd64
87+
push: true
88+
target: metabased-translator
89+
tags: ${{ steps.meta.outputs.tags }}
90+
labels: ${{ steps.meta.outputs.labels }}
91+
cache-from: type=gha
92+
cache-to: type=gha,mode=max

Dockerfile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,8 @@ RUN mkdir -p /etc/metabased-sequencer
120120
# Optional: Create volume mount points for persistent data
121121
VOLUME ["/data"]
122122

123-
# Expose ports (adjust according to your needs)
123+
# Expose ports
124+
# NOTE: GCP Cloud Run defaults to 8080 so this line is unnecessary for such deployment
124125
EXPOSE 8545 8546
125126

126127
ENTRYPOINT ["/usr/local/bin/metabased-sequencer"]

0 commit comments

Comments
 (0)