Update .forgejo/workflows/deploy.yaml
Some checks failed
/ build-and-deploy (push) Failing after 18s
Some checks failed
/ build-and-deploy (push) Failing after 18s
This commit is contained in:
parent
cdc86d37cf
commit
ac3a1d0ef1
1 changed files with 32 additions and 2 deletions
|
|
@ -9,6 +9,9 @@ jobs:
|
|||
env:
|
||||
NAMESPACE: clem-siwa-game-prd
|
||||
REGISTRY: clem-siwa-game
|
||||
# regctl écrit sa config dans $HOME/.regctl par défaut ; on la place dans
|
||||
# /tmp pour ne dépendre d'aucun HOME inscriptible côté runner.
|
||||
REGCTL_CONFIG: /tmp/regctl.json
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
|
|
@ -18,14 +21,41 @@ jobs:
|
|||
run: |
|
||||
helm lint charts
|
||||
|
||||
# regctl relit ~/.docker/config.json par défaut, ce login lui sert donc
|
||||
# aussi : l'entrée que regctl écrit ensuite pour le chunking ne porte que
|
||||
# blobChunk/blobMax et n'écrase pas les identifiants.
|
||||
- name: Docker login
|
||||
run: |
|
||||
docker login $REGISTRY_URL -u $REGISTRY_USER --password "$REGISTRY_PASS"
|
||||
|
||||
- name: Build and push hugo
|
||||
run: |
|
||||
docker build --progress=plain -t $REGISTRY_URL/$REGISTRY/clem-hugo:${{ github.sha }} .
|
||||
docker push $REGISTRY_URL/$REGISTRY/clem-hugo:${{ github.sha }}
|
||||
IMAGE=$REGISTRY_URL/$REGISTRY/clem-hugo:${{ github.sha }}
|
||||
|
||||
# Le driver buildx par défaut ("docker") ne sait pas exporter en OCI,
|
||||
# le format que regctl sait importer. On partage donc un builder
|
||||
# conteneurisé nommé, dont le cache survit d'un run à l'autre.
|
||||
# Le runner a capacity: 2 et exécute les steps en mode host : deux
|
||||
# jobs peuvent se disputer la création de ce builder. On tolère de
|
||||
# perdre la course en retombant sur l'instance gagnante.
|
||||
# cpu-quota/cpu-period bornent buildkitd à 6 des 8 coeurs : il tourne
|
||||
# en conteneur frère sur le daemon du noeud, donc hors des limits du
|
||||
# pod runner, et une build lourde y suffit à affamer le control plane.
|
||||
# Ces options ne s'appliquent qu'à la création du conteneur.
|
||||
docker buildx inspect --bootstrap ci >/dev/null 2>&1 \
|
||||
|| docker buildx create --name ci --driver docker-container --bootstrap \
|
||||
--driver-opt cpu-quota=600000 --driver-opt cpu-period=100000 >/dev/null 2>&1 \
|
||||
|| docker buildx inspect --bootstrap ci >/dev/null
|
||||
|
||||
docker buildx build --builder ci --progress=plain \
|
||||
--output type=oci,dest=/tmp/clem-hugo.tar -t "$IMAGE" .
|
||||
|
||||
# L'edge Cloudflare refuse tout corps de requête > 100 Mo (413), et
|
||||
# docker push envoie chaque blob en une seule requête. regctl, lui,
|
||||
# découpe (cf. README §8 de obicorp-infra).
|
||||
regctl registry set --blob-chunk 50000000 --blob-max 50000000 "$REGISTRY_URL"
|
||||
regctl image import "$IMAGE" /tmp/clem-hugo.tar
|
||||
rm -f /tmp/clem-hugo.tar
|
||||
|
||||
- name: Ensure namespace exists
|
||||
run: |
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue