fix(ci): Resolve registry push failures for fork PRs #989

Merged
tcpipuk merged 1 commit from tom/conditional-docker-login into main 2025-09-07 17:17:58 +00:00
Owner

Fork PRs now fail during Docker image build with 'tag is needed when pushing to registry' because BUILTIN_REGISTRY_ENABLED evaluates to false without proper credentials, leaving the images list empty. This appears to be due to recent Forgejo permission changes affecting fork access to repository secrets.

Add fallback to official registry when credentials unavailable, skip registry login and push operations for forks, and make merge job conditional since no digests exist without push. This allows forks to test Docker builds whilst avoiding authentication failures.

Fork PRs now fail during Docker image build with 'tag is needed when pushing to registry' because BUILTIN_REGISTRY_ENABLED evaluates to false without proper credentials, leaving the images list empty. This appears to be due to recent Forgejo permission changes affecting fork access to repository secrets. Add fallback to official registry when credentials unavailable, skip registry login and push operations for forks, and make merge job conditional since no digests exist without push. This allows forks to test Docker builds whilst avoiding authentication failures.
tcpipuk self-assigned this 2025-09-07 16:09:27 +00:00
fix(ci): Resolve registry push failures for fork PRs
Some checks failed
Release Docker Image / define-variables (pull_request) Successful in 12s
Documentation / Build and Deploy Documentation (pull_request) Successful in 30s
Checks / Prek / Pre-commit & Formatting (pull_request) Successful in 37s
Checks / Prek / Clippy and Cargo Tests (pull_request) Successful in 4m16s
Release Docker Image / build-image (linux/arm64, release, linux-arm64, base) (pull_request) Failing after 7m5s
Release Docker Image / build-image (linux/amd64, release, linux-amd64, base) (pull_request) Failing after 6m8s
Release Docker Image / merge (pull_request) Failing after 0s
3b84a8353b
Fork PRs now fail during Docker image build with 'tag is needed when
pushing to registry' because BUILTIN_REGISTRY_ENABLED evaluates to false
without proper credentials, leaving the images list empty. This appears
to be due to recent Forgejo permission changes affecting fork access to
repository secrets.

Add fallback to official registry when credentials unavailable, skip
registry login and push operations for forks, and make merge job
conditional since no digests exist without push. This allows forks to
test Docker builds whilst avoiding authentication failures.
tcpipuk force-pushed tom/conditional-docker-login from 3b84a8353b
Some checks failed
Release Docker Image / define-variables (pull_request) Successful in 12s
Documentation / Build and Deploy Documentation (pull_request) Successful in 30s
Checks / Prek / Pre-commit & Formatting (pull_request) Successful in 37s
Checks / Prek / Clippy and Cargo Tests (pull_request) Successful in 4m16s
Release Docker Image / build-image (linux/arm64, release, linux-arm64, base) (pull_request) Failing after 7m5s
Release Docker Image / build-image (linux/amd64, release, linux-amd64, base) (pull_request) Failing after 6m8s
Release Docker Image / merge (pull_request) Failing after 0s
to d95eedfdc6
Some checks failed
Release Docker Image / define-variables (pull_request) Successful in 8s
Documentation / Build and Deploy Documentation (pull_request) Successful in 26s
Checks / Prek / Pre-commit & Formatting (pull_request) Successful in 38s
Checks / Prek / Clippy and Cargo Tests (pull_request) Successful in 4m23s
Release Docker Image / build-image (linux/amd64, release, linux-amd64, base) (pull_request) Successful in 8m19s
Release Docker Image / build-image (linux/arm64, release, linux-arm64, base) (pull_request) Successful in 8m28s
Release Docker Image / merge (pull_request) Failing after 0s
2025-09-07 16:22:36 +00:00
Compare
tcpipuk force-pushed tom/conditional-docker-login from d95eedfdc6
Some checks failed
Release Docker Image / define-variables (pull_request) Successful in 8s
Documentation / Build and Deploy Documentation (pull_request) Successful in 26s
Checks / Prek / Pre-commit & Formatting (pull_request) Successful in 38s
Checks / Prek / Clippy and Cargo Tests (pull_request) Successful in 4m23s
Release Docker Image / build-image (linux/amd64, release, linux-amd64, base) (pull_request) Successful in 8m19s
Release Docker Image / build-image (linux/arm64, release, linux-arm64, base) (pull_request) Successful in 8m28s
Release Docker Image / merge (pull_request) Failing after 0s
to 84fdcd326a
Some checks failed
Release Docker Image / define-variables (pull_request) Successful in 10s
Documentation / Build and Deploy Documentation (pull_request) Successful in 25s
Checks / Prek / Pre-commit & Formatting (pull_request) Successful in 39s
Checks / Prek / Clippy and Cargo Tests (pull_request) Successful in 4m19s
Release Docker Image / build-image (linux/amd64, release, linux-amd64, base) (pull_request) Successful in 7m42s
Release Docker Image / build-image (linux/arm64, release, linux-arm64, base) (pull_request) Successful in 6m58s
Release Docker Image / merge (pull_request) Successful in 8s
Release Docker Image / define-variables (push) Successful in 14s
Documentation / Build and Deploy Documentation (push) Successful in 30s
Release Docker Image / build-image (linux/amd64, release, linux-amd64, base) (push) Has been cancelled
Release Docker Image / build-image (linux/arm64, release, linux-arm64, base) (push) Has been cancelled
Release Docker Image / merge (push) Has been cancelled
Checks / Prek / Pre-commit & Formatting (push) Successful in 45s
Checks / Prek / Clippy and Cargo Tests (push) Successful in 5m30s
2025-09-07 16:39:26 +00:00
Compare
ci(release-image): Skip setup steps when using persistent BuildKit
All checks were successful
Documentation / Build and Deploy Documentation (pull_request) Successful in 31s
Release Docker Image / define-variables (pull_request) Successful in 19s
Checks / Prek / Pre-commit & Formatting (pull_request) Successful in 48s
Checks / Prek / Clippy and Cargo Tests (pull_request) Successful in 4m37s
Release Docker Image / build-image (linux/amd64, release, linux-amd64, base) (pull_request) Successful in 6m41s
Release Docker Image / build-image (linux/arm64, release, linux-arm64, base) (pull_request) Successful in 6m39s
Release Docker Image / merge (pull_request) Successful in 8s
15f8ad8201
When BUILDKIT_ENDPOINT is set, the build happens on a remote BuildKit instance,
making several runner setup steps unnecessary:

- Rust toolchain installation (not needed for remote builds)
- QEMU setup (cross-platform emulation handled by BuildKit)
- All caching steps (Rust registry, cargo target, apt cache/lib)
- Cache injection step (BuildKit manages its own cache)
- Timelord timestamp caching (not needed with persistent build cache)

Also added output to git SHA and timestamp steps to show their values.

This should significantly reduce build time when using persistent BuildKit
by eliminating ~7 setup steps per matrix job.
tcpipuk force-pushed tom/conditional-docker-login from 15f8ad8201
All checks were successful
Documentation / Build and Deploy Documentation (pull_request) Successful in 31s
Release Docker Image / define-variables (pull_request) Successful in 19s
Checks / Prek / Pre-commit & Formatting (pull_request) Successful in 48s
Checks / Prek / Clippy and Cargo Tests (pull_request) Successful in 4m37s
Release Docker Image / build-image (linux/amd64, release, linux-amd64, base) (pull_request) Successful in 6m41s
Release Docker Image / build-image (linux/arm64, release, linux-arm64, base) (pull_request) Successful in 6m39s
Release Docker Image / merge (pull_request) Successful in 8s
to 84fdcd326a
Some checks failed
Release Docker Image / define-variables (pull_request) Successful in 10s
Documentation / Build and Deploy Documentation (pull_request) Successful in 25s
Checks / Prek / Pre-commit & Formatting (pull_request) Successful in 39s
Checks / Prek / Clippy and Cargo Tests (pull_request) Successful in 4m19s
Release Docker Image / build-image (linux/amd64, release, linux-amd64, base) (pull_request) Successful in 7m42s
Release Docker Image / build-image (linux/arm64, release, linux-arm64, base) (pull_request) Successful in 6m58s
Release Docker Image / merge (pull_request) Successful in 8s
Release Docker Image / define-variables (push) Successful in 14s
Documentation / Build and Deploy Documentation (push) Successful in 30s
Release Docker Image / build-image (linux/amd64, release, linux-amd64, base) (push) Has been cancelled
Release Docker Image / build-image (linux/arm64, release, linux-arm64, base) (push) Has been cancelled
Release Docker Image / merge (push) Has been cancelled
Checks / Prek / Pre-commit & Formatting (push) Successful in 45s
Checks / Prek / Clippy and Cargo Tests (push) Successful in 5m30s
2025-09-07 17:09:02 +00:00
Compare
tcpipuk deleted branch tom/conditional-docker-login 2025-09-07 17:17:58 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
continuwuation/continuwuity!989
No description provided.