Refonte complète des pipelines CI en remplacement du fichier monolithique docker-build.yaml. Les workflows sont désormais séparés par responsabilité, plus lisibles et maintenables.
Changements
Fichiers ajoutés
.gitea/workflows/pr.yaml — Workflow déclenché sur les pull requests : lint Hadolint (avec continue-on-error: true au niveau de l'étape), build, et tests.
.gitea/workflows/main.yaml — Workflow déclenché sur les push vers master : lint, build, test, puis push de l'image jcabillot/crond:latest sur Docker Hub avec bump de version automatique (patch).
.gitea/workflows/tag.yaml — Workflow déclenché sur les tags (v*) : build, test, puis push de l'image taguée (ex: jcabillot/crond:v1.2.3) et mise à jour de latest.
.gitea/workflows/cron.yaml — Workflow planifié (quotidien à minuit, 0 0 * * *) : rebuild et push de latest.
Fichier supprimé
.gitea/workflows/docker-build.yaml — Remplacé par les 4 workflows ci-dessus.
Détails notables
Hadolint est exécuté avec continue-on-error: true au niveau de l'étape (et non du job), afin de ne pas bloquer le pipeline en cas de warning tout en conservant la visibilité.
L'image Docker Hub cible est jcabillot/crond.
Tests lancés via tests/test.sh.
Authentification Docker Hub via les secrets DOCKERHUB_USERNAME et DOCKERHUB_TOKEN.
Validation
Les workflows sont syntaxiquement valides
CI doit passer au vert avant merge
## Résumé
Refonte complète des pipelines CI en remplacement du fichier monolithique `docker-build.yaml`. Les workflows sont désormais séparés par responsabilité, plus lisibles et maintenables.
## Changements
### Fichiers ajoutés
- **`.gitea/workflows/pr.yaml`** — Workflow déclenché sur les *pull requests* : lint Hadolint (avec `continue-on-error: true` au niveau de l'étape), build, et tests.
- **`.gitea/workflows/main.yaml`** — Workflow déclenché sur les *push* vers `master` : lint, build, test, puis push de l'image `jcabillot/crond:latest` sur Docker Hub avec bump de version automatique (patch).
- **`.gitea/workflows/tag.yaml`** — Workflow déclenché sur les *tags* (`v*`) : build, test, puis push de l'image taguée (ex: `jcabillot/crond:v1.2.3`) et mise à jour de `latest`.
- **`.gitea/workflows/cron.yaml`** — Workflow planifié (quotidien à minuit, `0 0 * * *`) : rebuild et push de `latest`.
### Fichier supprimé
- **`.gitea/workflows/docker-build.yaml`** — Remplacé par les 4 workflows ci-dessus.
## Détails notables
- Hadolint est exécuté avec `continue-on-error: true` au niveau de l'étape (et non du job), afin de ne pas bloquer le pipeline en cas de warning tout en conservant la visibilité.
- L'image Docker Hub cible est `jcabillot/crond`.
- Tests lancés via `tests/test.sh`.
- Authentification Docker Hub via les secrets `DOCKERHUB_USERNAME` et `DOCKERHUB_TOKEN`.
## Validation
- [x] Les workflows sont syntaxiquement valides
- [ ] CI doit passer au vert avant merge
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Résumé
Refonte complète des pipelines CI en remplacement du fichier monolithique
docker-build.yaml. Les workflows sont désormais séparés par responsabilité, plus lisibles et maintenables.Changements
Fichiers ajoutés
.gitea/workflows/pr.yaml— Workflow déclenché sur les pull requests : lint Hadolint (aveccontinue-on-error: trueau niveau de l'étape), build, et tests..gitea/workflows/main.yaml— Workflow déclenché sur les push versmaster: lint, build, test, puis push de l'imagejcabillot/crond:latestsur Docker Hub avec bump de version automatique (patch)..gitea/workflows/tag.yaml— Workflow déclenché sur les tags (v*) : build, test, puis push de l'image taguée (ex:jcabillot/crond:v1.2.3) et mise à jour delatest..gitea/workflows/cron.yaml— Workflow planifié (quotidien à minuit,0 0 * * *) : rebuild et push delatest.Fichier supprimé
.gitea/workflows/docker-build.yaml— Remplacé par les 4 workflows ci-dessus.Détails notables
continue-on-error: trueau niveau de l'étape (et non du job), afin de ne pas bloquer le pipeline en cas de warning tout en conservant la visibilité.jcabillot/crond.tests/test.sh.DOCKERHUB_USERNAMEetDOCKERHUB_TOKEN.Validation