Skip to content

Commit d43699d

Browse files
authored
fix: buildkit in gh
fix: buildkit in gh
2 parents 5175e2d + 59c334d commit d43699d

File tree

9 files changed

+778
-100
lines changed

9 files changed

+778
-100
lines changed

.github/workflows/deactivate.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,5 @@ concurrency:
1414

1515
jobs:
1616
kontinuous:
17-
uses: socialgouv/workflows/.github/workflows/use-ks-gh-deactivate.yaml@v1
17+
uses: socialgouv/workflows/.github/workflows/use-ks-gh-deactivate-atlas.yaml@v1
1818
secrets: inherit

.github/workflows/preproduction.yml

Lines changed: 177 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,182 @@ concurrency:
1111
group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.event.ref }}
1212

1313
jobs:
14+
build-backend:
15+
environment: build-preproduction
16+
outputs:
17+
tags: ${{ steps.meta.outputs.tags }}
18+
runs-on: ubuntu-latest
19+
steps:
20+
- name: ⏬ Checkout code repository
21+
uses: actions/checkout@v4
22+
23+
- name: 📌 Extract metadata (tags, labels) for Docker
24+
id: meta
25+
uses: docker/metadata-action@v5
26+
with:
27+
images: ${{ vars.REGISTRY_URL }}/${{ vars.PROJECT_NAME }}/${{ github.event.repository.name }}/backend
28+
tags: |
29+
type=sha,prefix=preprod-,format=long,priority=850
30+
type=sha,prefix=sha-,format=long,priority=890
31+
32+
- name: 📦 Build and push Docker image for backend
33+
uses: socialgouv/workflows/actions/buildkit@v1
34+
with:
35+
context: "."
36+
dockerfile: "packages/backend/Dockerfile"
37+
tags: ${{ steps.meta.outputs.tags }}
38+
labels: ${{ steps.meta.outputs.labels }}
39+
registry: "${{ vars.REGISTRY_URL }}"
40+
registry-username: "${{ secrets.REGISTRY_USERNAME }}"
41+
registry-password: "${{ secrets.REGISTRY_PASSWORD }}"
42+
buildkit-cert-ca: "${{ secrets.BUILDKIT_CERT_CA }}"
43+
buildkit-cert: "${{ secrets.BUILDKIT_CERT }}"
44+
buildkit-cert-key: "${{ secrets.BUILDKIT_CERT_KEY }}"
45+
buildkit-svc-count: ${{ vars.BUILDKIT_SVC_COUNT }}
46+
buildkit-daemon-address: ${{ vars.BUILDKIT_DAEMON_ADDRESS }}
47+
build-args: |
48+
DOMIFA_ENV_ID=preprod
49+
50+
build-frontend:
51+
environment: build-preproduction
52+
outputs:
53+
tags: ${{ steps.meta.outputs.tags }}
54+
runs-on: ubuntu-latest
55+
steps:
56+
- name: ⏬ Checkout code repository
57+
uses: actions/checkout@v4
58+
59+
- name: 📌 Extract metadata (tags, labels) for Docker
60+
id: meta
61+
uses: docker/metadata-action@v5
62+
with:
63+
images: ${{ vars.REGISTRY_URL }}/${{ vars.PROJECT_NAME }}/${{ github.event.repository.name }}/frontend
64+
tags: |
65+
type=sha,prefix=preprod-,format=long,priority=850
66+
type=sha,prefix=sha-,format=long,priority=890
67+
68+
- name: Env
69+
id: env
70+
uses: socialgouv/kontinuous/.github/actions/env@v1
71+
with:
72+
subdomain: api,admin,mon
73+
74+
- name: 📦 Build and push Docker image for frontend
75+
uses: socialgouv/workflows/actions/buildkit@v1
76+
with:
77+
context: "."
78+
dockerfile: "packages/frontend/Dockerfile"
79+
tags: ${{ steps.meta.outputs.tags }}
80+
labels: ${{ steps.meta.outputs.labels }}
81+
registry: "${{ vars.REGISTRY_URL }}"
82+
registry-username: "${{ secrets.REGISTRY_USERNAME }}"
83+
registry-password: "${{ secrets.REGISTRY_PASSWORD }}"
84+
buildkit-cert-ca: "${{ secrets.BUILDKIT_CERT_CA }}"
85+
buildkit-cert: "${{ secrets.BUILDKIT_CERT }}"
86+
buildkit-cert-key: "${{ secrets.BUILDKIT_CERT_KEY }}"
87+
buildkit-svc-count: ${{ vars.BUILDKIT_SVC_COUNT }}
88+
buildkit-daemon-address: ${{ vars.BUILDKIT_DAEMON_ADDRESS }}
89+
build-args: |
90+
DOMIFA_ENV_ID=preprod
91+
DOMIFA_BACKEND_URL=https://${{ steps.env.outputs.subdomain_api }}/
92+
DOMIFA_PORTAIL_ADMINS_URL=https://${{ steps.env.outputs.subdomain_admin }}/
93+
DOMIFA_PORTAIL_USAGERS_URL=https://${{ steps.env.outputs.subdomain_mon }}/
94+
DOMIFA_FRONTEND_URL=https://${{ steps.env.outputs.subdomain }}/
95+
DOMIFA_FRONTEND_META_ROBOTS=noindex,nofollow
96+
DOMIFA_SENTRY_DSN_FRONTEND=https://5dab749719e9488798341efad0947291@sentry.fabrique.social.gouv.fr/31
97+
98+
build-portail-admins:
99+
environment: build-preproduction
100+
outputs:
101+
tags: ${{ steps.meta.outputs.tags }}
102+
runs-on: ubuntu-latest
103+
steps:
104+
- name: ⏬ Checkout code repository
105+
uses: actions/checkout@v4
106+
107+
- name: 📌 Extract metadata (tags, labels) for Docker
108+
id: meta
109+
uses: docker/metadata-action@v5
110+
with:
111+
images: ${{ vars.REGISTRY_URL }}/${{ vars.PROJECT_NAME }}/${{ github.event.repository.name }}/portail-admins
112+
tags: |
113+
type=sha,prefix=preprod-,format=long,priority=850
114+
type=sha,prefix=sha-,format=long,priority=890
115+
116+
- name: Env
117+
id: env
118+
uses: socialgouv/kontinuous/.github/actions/env@v1
119+
with:
120+
subdomain: api
121+
122+
- name: 📦 Build and push Docker image for portail-admins
123+
uses: socialgouv/workflows/actions/buildkit@v1
124+
with:
125+
context: "."
126+
dockerfile: "packages/portail-admins/Dockerfile"
127+
tags: ${{ steps.meta.outputs.tags }}
128+
labels: ${{ steps.meta.outputs.labels }}
129+
registry: "${{ vars.REGISTRY_URL }}"
130+
registry-username: "${{ secrets.REGISTRY_USERNAME }}"
131+
registry-password: "${{ secrets.REGISTRY_PASSWORD }}"
132+
buildkit-cert-ca: "${{ secrets.BUILDKIT_CERT_CA }}"
133+
buildkit-cert: "${{ secrets.BUILDKIT_CERT }}"
134+
buildkit-cert-key: "${{ secrets.BUILDKIT_CERT_KEY }}"
135+
buildkit-svc-count: ${{ vars.BUILDKIT_SVC_COUNT }}
136+
buildkit-daemon-address: ${{ vars.BUILDKIT_DAEMON_ADDRESS }}
137+
build-args: |
138+
DOMIFA_ENV_ID=preprod
139+
DOMIFA_BACKEND_URL=https://${{ steps.env.outputs.subdomain_api }}/
140+
DOMIFA_FRONTEND_URL=https://${{ steps.env.outputs.subdomain }}/
141+
DOMIFA_SENTRY_DSN_PORTAIL_ADMIN=https://5dab749719e9488798341efad0947291@sentry.fabrique.social.gouv.fr/31
142+
143+
build-portail-usagers:
144+
environment: build-preproduction
145+
outputs:
146+
tags: ${{ steps.meta.outputs.tags }}
147+
runs-on: ubuntu-latest
148+
steps:
149+
- name: ⏬ Checkout code repository
150+
uses: actions/checkout@v4
151+
152+
- name: 📌 Extract metadata (tags, labels) for Docker
153+
id: meta
154+
uses: docker/metadata-action@v5
155+
with:
156+
images: ${{ vars.REGISTRY_URL }}/${{ vars.PROJECT_NAME }}/${{ github.event.repository.name }}/portail-usagers
157+
tags: |
158+
type=sha,prefix=preprod-,format=long,priority=850
159+
type=sha,prefix=sha-,format=long,priority=890
160+
161+
- name: Env
162+
id: env
163+
uses: socialgouv/kontinuous/.github/actions/env@v1
164+
with:
165+
subdomain: api
166+
167+
- name: 📦 Build and push Docker image for portail-usagers
168+
uses: socialgouv/workflows/actions/buildkit@v1
169+
with:
170+
context: "."
171+
dockerfile: "packages/portail-usagers/Dockerfile"
172+
tags: ${{ steps.meta.outputs.tags }}
173+
labels: ${{ steps.meta.outputs.labels }}
174+
registry: "${{ vars.REGISTRY_URL }}"
175+
registry-username: "${{ secrets.REGISTRY_USERNAME }}"
176+
registry-password: "${{ secrets.REGISTRY_PASSWORD }}"
177+
buildkit-cert-ca: "${{ secrets.BUILDKIT_CERT_CA }}"
178+
buildkit-cert: "${{ secrets.BUILDKIT_CERT }}"
179+
buildkit-cert-key: "${{ secrets.BUILDKIT_CERT_KEY }}"
180+
buildkit-svc-count: ${{ vars.BUILDKIT_SVC_COUNT }}
181+
buildkit-daemon-address: ${{ vars.BUILDKIT_DAEMON_ADDRESS }}
182+
build-args: |
183+
DOMIFA_ENV_ID=preprod
184+
DOMIFA_BACKEND_URL=https://${{ steps.env.outputs.subdomain_api }}/
185+
DOMIFA_SENTRY_DSN_PORTAIL=https://904877ea9ec4454aa1be7b629a6ea340@sentry.fabrique.social.gouv.fr/58
186+
DOMIFA_FRONTEND_META_ROBOTS=noindex,nofollow
187+
14188
kontinuous:
189+
needs: [build-backend, build-frontend, build-portail-admins, build-portail-usagers]
15190
name: "Deploy on Kubernetes 🐳"
16-
uses: socialgouv/workflows/.github/workflows/use-ks-gh-preproduction.yaml@v1
17-
secrets: inherit
191+
uses: socialgouv/workflows/.github/workflows/use-ks-gh-preproduction-atlas.yaml@v1
192+
secrets: inherit

.github/workflows/production.yml

Lines changed: 169 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,174 @@ concurrency:
1010
group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.event.ref }}
1111

1212
jobs:
13+
build-backend:
14+
environment: build-production
15+
outputs:
16+
tags: ${{ steps.meta.outputs.tags }}
17+
runs-on: ubuntu-latest
18+
steps:
19+
- name: ⏬ Checkout code repository
20+
uses: actions/checkout@v4
21+
22+
- name: 📌 Extract metadata (tags, labels) for Docker
23+
id: meta
24+
uses: docker/metadata-action@v5
25+
with:
26+
images: ${{ vars.REGISTRY_URL }}/${{ vars.PROJECT_NAME }}/${{ github.event.repository.name }}/backend
27+
tags: |
28+
type=semver,pattern=v{{version}},priority=900
29+
type=sha,prefix=sha-,format=long,priority=890
30+
type=raw,value=latest,enable=${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) }},priority=200
31+
32+
- name: 📦 Build and push Docker image for backend
33+
uses: socialgouv/workflows/actions/buildkit@v1
34+
with:
35+
context: "."
36+
dockerfile: "packages/backend/Dockerfile"
37+
tags: ${{ steps.meta.outputs.tags }}
38+
labels: ${{ steps.meta.outputs.labels }}
39+
registry: "${{ vars.REGISTRY_URL }}"
40+
registry-username: "${{ secrets.REGISTRY_USERNAME }}"
41+
registry-password: "${{ secrets.REGISTRY_PASSWORD }}"
42+
buildkit-cert-ca: "${{ secrets.BUILDKIT_CERT_CA }}"
43+
buildkit-cert: "${{ secrets.BUILDKIT_CERT }}"
44+
buildkit-cert-key: "${{ secrets.BUILDKIT_CERT_KEY }}"
45+
buildkit-svc-count: ${{ vars.BUILDKIT_SVC_COUNT }}
46+
buildkit-daemon-address: ${{ vars.BUILDKIT_DAEMON_ADDRESS }}
47+
build-args: |
48+
DOMIFA_ENV_ID=prod
49+
DOMIFA_BACKEND_URL=https://domifa-api.fabrique.social.gouv.fr/
50+
DOMIFA_PORTAIL_ADMINS_URL=https://admin-domifa.fabrique.social.gouv.fr/
51+
DOMIFA_PORTAIL_USAGERS_URL=https://mon-domifa.fabrique.social.gouv.fr/
52+
DOMIFA_FRONTEND_URL=https://domifa.fabrique.social.gouv.fr/
53+
54+
build-frontend:
55+
environment: build-production
56+
outputs:
57+
tags: ${{ steps.meta.outputs.tags }}
58+
runs-on: ubuntu-latest
59+
steps:
60+
- name: ⏬ Checkout code repository
61+
uses: actions/checkout@v4
62+
63+
- name: 📌 Extract metadata (tags, labels) for Docker
64+
id: meta
65+
uses: docker/metadata-action@v5
66+
with:
67+
images: ${{ vars.REGISTRY_URL }}/${{ vars.PROJECT_NAME }}/${{ github.event.repository.name }}/frontend
68+
tags: |
69+
type=semver,pattern=v{{version}},priority=900
70+
type=sha,prefix=sha-,format=long,priority=890
71+
type=raw,value=latest,enable=${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) }},priority=200
72+
73+
- name: 📦 Build and push Docker image for frontend
74+
uses: socialgouv/workflows/actions/buildkit@v1
75+
with:
76+
context: "."
77+
dockerfile: "packages/frontend/Dockerfile"
78+
tags: ${{ steps.meta.outputs.tags }}
79+
labels: ${{ steps.meta.outputs.labels }}
80+
registry: "${{ vars.REGISTRY_URL }}"
81+
registry-username: "${{ secrets.REGISTRY_USERNAME }}"
82+
registry-password: "${{ secrets.REGISTRY_PASSWORD }}"
83+
buildkit-cert-ca: "${{ secrets.BUILDKIT_CERT_CA }}"
84+
buildkit-cert: "${{ secrets.BUILDKIT_CERT }}"
85+
buildkit-cert-key: "${{ secrets.BUILDKIT_CERT_KEY }}"
86+
buildkit-svc-count: ${{ vars.BUILDKIT_SVC_COUNT }}
87+
buildkit-daemon-address: ${{ vars.BUILDKIT_DAEMON_ADDRESS }}
88+
build-args: |
89+
DOMIFA_ENV_ID=prod
90+
DOMIFA_BACKEND_URL=https://domifa-api.fabrique.social.gouv.fr/
91+
DOMIFA_FRONTEND_META_ROBOTS=index,follow
92+
DOMIFA_FRONTEND_URL=https://domifa.fabrique.social.gouv.fr/
93+
DOMIFA_PORTAIL_ADMINS_URL=https://admin-domifa.fabrique.social.gouv.fr/
94+
DOMIFA_PORTAIL_USAGERS_URL=https://mon-domifa.fabrique.social.gouv.fr/
95+
DOMIFA_SENTRY_DSN_FRONTEND=https://5dab749719e9488798341efad0947291@sentry.fabrique.social.gouv.fr/31
96+
97+
build-portail-admins:
98+
environment: build-production
99+
outputs:
100+
tags: ${{ steps.meta.outputs.tags }}
101+
runs-on: ubuntu-latest
102+
steps:
103+
- name: ⏬ Checkout code repository
104+
uses: actions/checkout@v4
105+
106+
- name: 📌 Extract metadata (tags, labels) for Docker
107+
id: meta
108+
uses: docker/metadata-action@v5
109+
with:
110+
images: ${{ vars.REGISTRY_URL }}/${{ vars.PROJECT_NAME }}/${{ github.event.repository.name }}/portail-admins
111+
tags: |
112+
type=semver,pattern=v{{version}},priority=900
113+
type=sha,prefix=sha-,format=long,priority=890
114+
type=raw,value=latest,enable=${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) }},priority=200
115+
116+
- name: 📦 Build and push Docker image for portail-admins
117+
uses: socialgouv/workflows/actions/buildkit@v1
118+
with:
119+
context: "."
120+
dockerfile: "packages/portail-admins/Dockerfile"
121+
tags: ${{ steps.meta.outputs.tags }}
122+
labels: ${{ steps.meta.outputs.labels }}
123+
registry: "${{ vars.REGISTRY_URL }}"
124+
registry-username: "${{ secrets.REGISTRY_USERNAME }}"
125+
registry-password: "${{ secrets.REGISTRY_PASSWORD }}"
126+
buildkit-cert-ca: "${{ secrets.BUILDKIT_CERT_CA }}"
127+
buildkit-cert: "${{ secrets.BUILDKIT_CERT }}"
128+
buildkit-cert-key: "${{ secrets.BUILDKIT_CERT_KEY }}"
129+
buildkit-svc-count: ${{ vars.BUILDKIT_SVC_COUNT }}
130+
buildkit-daemon-address: ${{ vars.BUILDKIT_DAEMON_ADDRESS }}
131+
build-args: |
132+
DOMIFA_ENV_ID=prod
133+
DOMIFA_BACKEND_URL=https://domifa-api.fabrique.social.gouv.fr/
134+
PRODUCTION=true
135+
DOMIFA_FRONTEND_URL=https://domifa.fabrique.social.gouv.fr/
136+
DOMIFA_SENTRY_DSN_PORTAIL_ADMIN=https://5dab749719e9488798341efad0947291@sentry.fabrique.social.gouv.fr/31
137+
138+
build-portail-usagers:
139+
environment: build-production
140+
outputs:
141+
tags: ${{ steps.meta.outputs.tags }}
142+
runs-on: ubuntu-latest
143+
steps:
144+
- name: ⏬ Checkout code repository
145+
uses: actions/checkout@v4
146+
147+
- name: 📌 Extract metadata (tags, labels) for Docker
148+
id: meta
149+
uses: docker/metadata-action@v5
150+
with:
151+
images: ${{ vars.REGISTRY_URL }}/${{ vars.PROJECT_NAME }}/${{ github.event.repository.name }}/portail-usagers
152+
tags: |
153+
type=semver,pattern=v{{version}},priority=900
154+
type=sha,prefix=sha-,format=long,priority=890
155+
type=raw,value=latest,enable=${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) }},priority=200
156+
157+
- name: 📦 Build and push Docker image for portail-usagers
158+
uses: socialgouv/workflows/actions/buildkit@v1
159+
with:
160+
context: "."
161+
dockerfile: "packages/portail-usagers/Dockerfile"
162+
tags: ${{ steps.meta.outputs.tags }}
163+
labels: ${{ steps.meta.outputs.labels }}
164+
registry: "${{ vars.REGISTRY_URL }}"
165+
registry-username: "${{ secrets.REGISTRY_USERNAME }}"
166+
registry-password: "${{ secrets.REGISTRY_PASSWORD }}"
167+
buildkit-cert-ca: "${{ secrets.BUILDKIT_CERT_CA }}"
168+
buildkit-cert: "${{ secrets.BUILDKIT_CERT }}"
169+
buildkit-cert-key: "${{ secrets.BUILDKIT_CERT_KEY }}"
170+
buildkit-svc-count: ${{ vars.BUILDKIT_SVC_COUNT }}
171+
buildkit-daemon-address: ${{ vars.BUILDKIT_DAEMON_ADDRESS }}
172+
build-args: |
173+
DOMIFA_ENV_ID=prod
174+
DOMIFA_BACKEND_URL=https://domifa-api.fabrique.social.gouv.fr/
175+
PRODUCTION=true
176+
DOMIFA_FRONTEND_META_ROBOTS=index,follow
177+
DOMIFA_SENTRY_DSN_PORTAIL=https://904877ea9ec4454aa1be7b629a6ea340@sentry.fabrique.social.gouv.fr/58
178+
13179
kontinuous:
180+
needs: [build-backend, build-frontend, build-portail-admins, build-portail-usagers]
14181
name: "Deploy on Kubernetes 🐳"
15-
uses: socialgouv/workflows/.github/workflows/use-ks-gh-production.yaml@v1
16-
secrets: inherit
182+
uses: socialgouv/workflows/.github/workflows/use-ks-gh-production-atlas.yaml@v1
183+
secrets: inherit

0 commit comments

Comments
 (0)