5
5
branches : [main]
6
6
7
7
env :
8
- REGISTRY : ghcr.io
9
- IMAGE_NAME : ${{ github.repository }}/core
8
+ GITHUB_REGISTRY : ghcr.io
9
+ GITHUB_IMAGE_NAME : ${{ github.repository }}/core
10
+ GCP_REGISTRY : europe-west4-docker.pkg.dev
11
+ GCP_PROJECT_ID : nanoapi-registry
12
+ GCP_REPOSITORY : nanoapi-registry
13
+ GCP_IMAGE_NAME : stackcore
10
14
11
15
jobs :
12
16
build-and-push :
@@ -29,19 +33,42 @@ jobs:
29
33
cd packages/core
30
34
deno task build
31
35
32
- - name : Log in to Container Registry
36
+ # GitHub Container Registry login
37
+ - name : Log in to GitHub Container Registry
33
38
uses : docker/login-action@v3
34
39
with :
35
- registry : ${{ env.REGISTRY }}
40
+ registry : ${{ env.GITHUB_REGISTRY }}
36
41
username : ${{ github.actor }}
37
42
password : ${{ secrets.GITHUB_TOKEN }}
38
43
44
+ # GCP Authentication
45
+ - name : Authenticate to Google Cloud
46
+ uses : google-github-actions/auth@v2
47
+ with :
48
+ credentials_json : ${{ secrets.GCP_SA_KEY }}
49
+
50
+ # Configure Docker for GCP
51
+ - name : Configure Docker for GCP Artifact Registry
52
+ run : gcloud auth configure-docker ${{ env.GCP_REGISTRY }}
53
+
54
+ # Build and push to both registries
39
55
- name : Build and push Docker image
40
56
uses : docker/build-push-action@v5
41
57
with :
42
58
context : packages/core
43
59
file : packages/core/Dockerfile
44
60
push : true
45
61
tags : |
46
- ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.ref_name }}
47
- ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.sha }}
62
+ ${{ env.GITHUB_REGISTRY }}/${{ env.GITHUB_IMAGE_NAME }}:${{ github.ref_name }}
63
+ ${{ env.GITHUB_REGISTRY }}/${{ env.GITHUB_IMAGE_NAME }}:${{ github.sha }}
64
+ ${{ env.GCP_REGISTRY }}/${{ env.GCP_PROJECT_ID }}/${{ env.GCP_REPOSITORY }}/${{ env.GCP_IMAGE_NAME }}:${{ github.ref_name }}
65
+ ${{ env.GCP_REGISTRY }}/${{ env.GCP_PROJECT_ID }}/${{ env.GCP_REPOSITORY }}/${{ env.GCP_IMAGE_NAME }}:${{ github.sha }}
66
+
67
+ # Output the image URLs for easy reference
68
+ - name : Output image URLs
69
+ run : |
70
+ echo "Images pushed to:"
71
+ echo "GitHub: ${{ env.GITHUB_REGISTRY }}/${{ env.GITHUB_IMAGE_NAME }}:${{ github.ref_name }}"
72
+ echo "GitHub: ${{ env.GITHUB_REGISTRY }}/${{ env.GITHUB_IMAGE_NAME }}:${{ github.sha }}"
73
+ echo "GCP: ${{ env.GCP_REGISTRY }}/${{ env.GCP_PROJECT_ID }}/${{ env.GCP_REPOSITORY }}/${{ env.GCP_IMAGE_NAME }}:${{ github.ref_name }}"
74
+ echo "GCP: ${{ env.GCP_REGISTRY }}/${{ env.GCP_PROJECT_ID }}/${{ env.GCP_REPOSITORY }}/${{ env.GCP_IMAGE_NAME }}:${{ github.sha }}"
0 commit comments