On first-release version tags (e.g. 0.1.8), the health check fails:
Running migrations image: ghcr.io/.../website-backend-migrations:0.1.8
Unable to find image locally
docker: Error response from daemon: Head "...manifests/0.1.8": unauthorized
Root cause:build_push_supplemental runs afterhealth_check in the job. For branch tags (develop, staging), the previous pipeline already pushed those tags to GHCR so they're available. For a new version tag (0.1.8), no prior push exists — the pull fails.
Supplemental images are now in the local Docker cache when the health check runs — no GHCR pull needed. The main image is still only pushed to GHCR after the health check passes.
## Problem
On first-release version tags (e.g. `0.1.8`), the health check fails:
```
Running migrations image: ghcr.io/.../website-backend-migrations:0.1.8
Unable to find image locally
docker: Error response from daemon: Head "...manifests/0.1.8": unauthorized
```
**Root cause:** `build_push_supplemental` runs *after* `health_check` in the job. For branch tags (`develop`, `staging`), the previous pipeline already pushed those tags to GHCR so they're available. For a new version tag (`0.1.8`), no prior push exists — the pull fails.
## Fix
Reorder steps in `docker_build_push.yml`:
**Before:** `docker_build → health_check → trivy → docker_push_ghcr → build_push_supplemental`
**After:** `docker_build → trivy → build_push_supplemental → health_check → docker_push_ghcr`
Supplemental images are now in the local Docker cache when the health check runs — no GHCR pull needed. The main image is still only pushed to GHCR after the health check passes.
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.
Problem
On first-release version tags (e.g.
0.1.8), the health check fails:Root cause:
build_push_supplementalruns afterhealth_checkin the job. For branch tags (develop,staging), the previous pipeline already pushed those tags to GHCR so they're available. For a new version tag (0.1.8), no prior push exists — the pull fails.Fix
Reorder steps in
docker_build_push.yml:Before:
docker_build → health_check → trivy → docker_push_ghcr → build_push_supplementalAfter:
docker_build → trivy → build_push_supplemental → health_check → docker_push_ghcrSupplemental images are now in the local Docker cache when the health check runs — no GHCR pull needed. The main image is still only pushed to GHCR after the health check passes.