@@ -15,10 +15,12 @@ jobs:
15
15
if : ${{ github.repository == 'api-platform/demo' && (github.event_name != 'pull_request' || contains(github.event.pull_request.labels.*.name, 'deploy')) }}
16
16
runs-on : ubuntu-latest
17
17
env :
18
- PHP_DOCKER_IMAGE : eu.gcr.io/${{ secrets.GKE_PROJECT }}/php:${{ github.sha }}
19
- PWA_DOCKER_IMAGE : eu.gcr.io/${{ secrets.GKE_PROJECT }}/pwa:${{ github.sha }}
20
- CADDY_DOCKER_IMAGE : eu.gcr.io/${{ secrets.GKE_PROJECT }}/caddy:${{ github.sha }}
21
- KEYCLOAK_DOCKER_IMAGE : eu.gcr.io/${{ secrets.GKE_PROJECT }}/keycloak:${{ github.sha }}
18
+ PHP_DOCKER_IMAGE : europe-west1-docker.pkg.dev/${{ secrets.GKE_PROJECT }}/${{ secrets.GKE_PROJECT }}/php:${{ github.sha }}
19
+ PWA_DOCKER_IMAGE : europe-west1-docker.pkg.dev/${{ secrets.GKE_PROJECT }}/${{ secrets.GKE_PROJECT }}/pwa:${{ github.sha }}
20
+ KEYCLOAK_DOCKER_IMAGE : europe-west1-docker.pkg.dev/${{ secrets.GKE_PROJECT }}/${{ secrets.GKE_PROJECT }}/keycloak:${{ github.sha }}
21
+ permissions :
22
+ contents : ' read'
23
+ id-token : ' write'
22
24
steps :
23
25
-
24
26
name : Checkout
@@ -33,19 +35,18 @@ jobs:
33
35
python-version : 3.9.15
34
36
-
35
37
name : Auth gcloud
36
- uses : google-github-actions/auth@v1
38
+ id : auth
39
+ uses : google-github-actions/auth@v2
37
40
with :
41
+ token_format : access_token
38
42
credentials_json : ${{ secrets.GKE_SA_KEY }}
39
43
-
40
- name : Setup gcloud
41
- uses : google-github-actions/setup-gcloud@v1
44
+ name : Login to GAR
45
+ uses : docker/login-action@v3
42
46
with :
43
- project_id : ${{ secrets.GKE_PROJECT }}
44
- -
45
- name : Configure gcloud
46
- run : |
47
- gcloud --quiet auth configure-docker
48
- gcloud container clusters get-credentials api-platform-demo --zone europe-west1-c
47
+ registry : europe-west1-docker.pkg.dev
48
+ username : oauth2accesstoken
49
+ password : ${{ steps.auth.outputs.access_token }}
49
50
-
50
51
name : Build Docker images
51
52
uses : docker/bake-action@v4
55
56
pull : true
56
57
load : true
57
58
files : |
58
- docker- compose.yml
59
- docker- compose.prod.yml
59
+ compose.yaml
60
+ compose.prod.yaml
60
61
set : |
61
62
*.cache-from=type=gha,scope=${{github.ref}}
62
63
*.cache-from=type=gha,scope=refs/heads/main
@@ -66,33 +67,24 @@ jobs:
66
67
run : |
67
68
docker push $PHP_DOCKER_IMAGE
68
69
docker push $PWA_DOCKER_IMAGE
69
- docker push $CADDY_DOCKER_IMAGE
70
70
docker push $KEYCLOAK_DOCKER_IMAGE
71
71
-
72
72
name : Docker tag and push latest
73
73
if : github.event_name == 'push'
74
74
run : |
75
- docker tag $PHP_DOCKER_IMAGE eu.gcr.io/${{ secrets.GKE_PROJECT }}/php:latest
76
- docker tag $PWA_DOCKER_IMAGE eu.gcr.io/${{ secrets.GKE_PROJECT }}/pwa:latest
77
- docker tag $CADDY_DOCKER_IMAGE eu.gcr.io/${{ secrets.GKE_PROJECT }}/caddy:latest
78
- docker tag $KEYCLOAK_DOCKER_IMAGE eu.gcr.io/${{ secrets.GKE_PROJECT }}/keycloak:latest
79
- docker push eu.gcr.io/${{ secrets.GKE_PROJECT }}/php:latest
80
- docker push eu.gcr.io/${{ secrets.GKE_PROJECT }}/pwa:latest
81
- docker push eu.gcr.io/${{ secrets.GKE_PROJECT }}/caddy:latest
82
- docker push eu.gcr.io/${{ secrets.GKE_PROJECT }}/keycloak:latest
75
+ docker tag $PHP_DOCKER_IMAGE europe-west1-docker.pkg.dev/${{ secrets.GKE_PROJECT }}/${{ secrets.GKE_PROJECT }}/php:latest
76
+ docker tag $PWA_DOCKER_IMAGE europe-west1-docker.pkg.dev/${{ secrets.GKE_PROJECT }}/${{ secrets.GKE_PROJECT }}/pwa:latest
77
+ docker tag $KEYCLOAK_DOCKER_IMAGE europe-west1-docker.pkg.dev/${{ secrets.GKE_PROJECT }}/${{ secrets.GKE_PROJECT }}/keycloak:latest
78
+ docker push europe-west1-docker.pkg.dev/${{ secrets.GKE_PROJECT }}/${{ secrets.GKE_PROJECT }}/php:latest
79
+ docker push europe-west1-docker.pkg.dev/${{ secrets.GKE_PROJECT }}/${{ secrets.GKE_PROJECT }}/pwa:latest
80
+ docker push europe-west1-docker.pkg.dev/${{ secrets.GKE_PROJECT }}/${{ secrets.GKE_PROJECT }}/keycloak:latest
83
81
84
82
deploy :
85
83
name : Deploy
86
84
needs : [ build ]
87
- if : github.event_name == 'push'
88
85
uses : ./.github/workflows/deploy.yml
89
86
with :
90
- environment : prod
91
- url : demo.api-platform.com
92
87
docker-images-version : ${{ github.sha }}
93
- cors : ' ["https://demo.api-platform.com", "http://localhost", "https://localhost", "http://localhost:3000"]'
94
- release : main
95
- namespace : main
96
88
gke-cluster : api-platform-demo
97
89
gke-zone : europe-west1-c
98
90
secrets :
@@ -102,23 +94,9 @@ jobs:
102
94
cloudflare-zone-id : ${{ secrets.CF_ZONE_ID }}
103
95
keycloak-admin-password : ${{ secrets.KEYCLOAK_ADMIN_PASSWORD }}
104
96
105
- feature-deploy :
106
- name : Feature Deploy
107
- needs : [ build ]
108
- if : github.event_name == 'pull_request'
109
- uses : ./.github/workflows/deploy.yml
97
+ check :
98
+ name : Check
99
+ needs : [ deploy ]
100
+ uses : ./.github/workflows/check.yml
110
101
with :
111
- environment : pr-${{ github.event.pull_request.number }}
112
- url : pr-${{ github.event.pull_request.number }}-demo.api-platform.com
113
- docker-images-version : ${{ github.sha }}
114
- cors : ' ["https://pr-${{ github.event.pull_request.number }}-demo.api-platform.com", "http://localhost", "https://localhost", "http://localhost:3000"]'
115
- release : pr-${{ github.event.pull_request.number }}
116
- namespace : pr-${{ github.event.pull_request.number }}
117
- gke-cluster : api-platform-demo
118
- gke-zone : europe-west1-c
119
- secrets :
120
- gke-credentials : ${{ secrets.GKE_SA_KEY }}
121
- gke-project : ${{ secrets.GKE_PROJECT }}
122
- cloudflare-api-token : ${{ secrets.CF_API_TOKEN }}
123
- cloudflare-zone-id : ${{ secrets.CF_ZONE_ID }}
124
- keycloak-admin-password : ${{ secrets.KEYCLOAK_ADMIN_PASSWORD }}
102
+ url : ${{needs.deploy.outputs.url}}
0 commit comments