Release
Il rilascio viene avviato creando una release GitHub. Il workflow .github/workflows/docker-publish-release.yaml viene eseguito su release: published e fa due cose:
sync-version- confrontaapplication.propertiescon il tag di release (rimuovendo un'eventualeviniziale). Se differiscono, apre un branchrelease-sync/<tag>, incrementa<version>inapplication.propertiese fa il merge automatico di quella PR inmain(squash, branch eliminato).build-and-push-multiarch- compila l'immagine perlinux/amd64elinux/arm64e la pubblica.
Tag delle immagini
Lo step dei metadati deriva i tag dal tag di release (semver):
:<semver>(es.:1.3.0):<major>.<minor>(es.:1.3):<major>(es.:1):latest(omesso per le pre-release)
Le immagini vengono pubblicate su ghcr.io/schulydev/schulykeycloak e, con il massimo impegno possibile, anche su Docker Hub in <DOCKERHUB_USERNAME>/schulykeycloak.
Come creare una release
- Assicurati che
mainsia verde. - Crea una release GitHub con un tag semver (es.
v1.3.0). Il workflow gestisce l'incremento della versione e la pubblicazione dell'immagine - non incrementareapplication.propertiesa mano.
Secret richiesti
| Secret | Scopo |
|---|---|
MAIN_PUSH_TOKEN | Permette al job sync-version di pushare il branch con l'incremento di versione su main e di aprire/mergiare la PR di sincronizzazione. Richiesto. |
DOCKERHUB_USERNAME | Namespace + login Docker Hub. Opzionale - login/push su Docker Hub avvengono con il massimo impegno possibile (continue-on-error). |
DOCKERHUB_TOKEN | Token di accesso Docker Hub. Opzionale, come sopra. |
GITHUB_TOKEN (fornito automaticamente) viene usato per il push verso GHCR.
