Adieu Docker push — plus de login/metadata/build-push vers DockerHub sur master
Renommage build-push → build (simple docker build pour valider la compilation)
Le push Docker est désormais uniquement géré par le workflow tag.yaml
Le job tag (git semver) continue de tourner après le build
needs: [test] déjà présent — les tests restent obligatoires avant le build
cron.yaml (nightly rebuild)
Ajout d'un job test avant build-push — plus de push sans tests vérifiés
Suppression du tag :latest — abandonné
Conservation du tag $TAG-latest (tag de la dernière release + -latest)
tag.yaml (push de tag)
Ajout d'un job test avant build-push — les tests doivent passer avant de pusher une release sur DockerHub
Résumé des flux après changement
Workflow
Déclencheur
Jobs
Push Docker
main.yaml
push master
hadolint → test → build → tag
❌ (git tag only)
cron.yaml
nightly 0 0 * * *
hadolint → test → build-push
✅$TAG-latest only
tag.yaml
push v* tag
hadolint → test → build-push
✅vX.Y.Z + vX.Y.Z-latest
pr.yaml
pull request
hadolint → build-test
❌
Closes les runs #1475 (tests manquants), #1474 (latest sur master), #1386 (latest sur cron)
## Changements
### main.yaml (push sur master)
- **Adieu Docker push** — plus de login/metadata/build-push vers DockerHub sur master
- Renommage `build-push` → `build` (simple `docker build` pour valider la compilation)
- Le push Docker est désormais uniquement géré par le workflow `tag.yaml`
- Le job `tag` (git semver) continue de tourner après le build
- `needs: [test]` déjà présent — les tests restent obligatoires avant le build
### cron.yaml (nightly rebuild)
- **Ajout d'un job `test`** avant `build-push` — plus de push sans tests vérifiés
- **Suppression du tag `:latest`** — abandonné
- Conservation du tag `$TAG-latest` (tag de la dernière release + -latest)
### tag.yaml (push de tag)
- **Ajout d'un job `test`** avant `build-push` — les tests doivent passer avant de pusher une release sur DockerHub
## Résumé des flux après changement
| Workflow | Déclencheur | Jobs | Push Docker |
|---|---|---|---|
| **main.yaml** | push master | hadolint → test → build → tag | ❌ (git tag only) |
| **cron.yaml** | nightly `0 0 * * *` | hadolint → test → build-push | ✅ `$TAG-latest` only |
| **tag.yaml** | push `v*` tag | hadolint → test → build-push | ✅ `vX.Y.Z` + `vX.Y.Z-latest` |
| **pr.yaml** | pull request | hadolint → build-test | ❌ |
Closes les runs #1475 (tests manquants), #1474 (latest sur master), #1386 (latest sur cron)
- Remove docker/login-action, docker/metadata-action, docker/build-push-action
- Rename build-push to build (just docker build, no push)
- Tag job now depends on build
- Push to DockerHub is handled solely by tag.yaml now
- Add test job (build + run tests)
- build-push now needs: [test]
- Remove type=raw,value=latest tag
- Keep type=raw,value=$TAG-latest for the latest versioned tag
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.
Changements
main.yaml (push sur master)
build-push→build(simpledocker buildpour valider la compilation)tag.yamltag(git semver) continue de tourner après le buildneeds: [test]déjà présent — les tests restent obligatoires avant le buildcron.yaml (nightly rebuild)
testavantbuild-push— plus de push sans tests vérifiés:latest— abandonné$TAG-latest(tag de la dernière release + -latest)tag.yaml (push de tag)
testavantbuild-push— les tests doivent passer avant de pusher une release sur DockerHubRésumé des flux après changement
0 0 * * *$TAG-latestonlyv*tagvX.Y.Z+vX.Y.Z-latestCloses les runs #1475 (tests manquants), #1474 (latest sur master), #1386 (latest sur cron)