feat: complete docker_publish skill — FORGEJO_TOKEN auth, DinD CI, E2E flow #28

Closed
mik-tf wants to merge 0 commits from development_docker_publish_e2e into development
Owner

Summary

Completes the docker_publish skill with three missing pieces:

  1. Registry Authentication — FORGEJO_TOKEN non-interactive login for local dev and CI, Makefile target with env check
  2. CI Workflow — Docker-in-Docker (docker:24-dind) with BuildKit, official Docker actions, registry cache, SSH forwarding for private repos
  3. E2E Flow — complete walkthrough from local build to CI automation to consuming published images

References hero_services as a working implementation of the full pipeline.

Closes #26

## Summary Completes the `docker_publish` skill with three missing pieces: 1. **Registry Authentication** — FORGEJO_TOKEN non-interactive login for local dev and CI, Makefile target with env check 2. **CI Workflow** — Docker-in-Docker (`docker:24-dind`) with BuildKit, official Docker actions, registry cache, SSH forwarding for private repos 3. **E2E Flow** — complete walkthrough from local build to CI automation to consuming published images References `hero_services` as a working implementation of the full pipeline. Closes #26
- Add Registry Authentication section with FORGEJO_TOKEN non-interactive
  login for local dev and CI
- Replace naive CI workflow with Docker-in-Docker (docker:24-dind) pattern
  using official Docker actions (setup-buildx, login-action, build-push-action)
- Add SSH agent forwarding variant for private Forge repos
- Add End-to-End Flow section covering local build, CI automation, and
  consuming published images
- Reference hero_services as working implementation
- Update Makefile docker-login target and failure modes table

Co-Authored-By: mik-tf <mik@threefold.io>
mik-tf changed title from WIP: feat: complete docker_publish skill — FORGEJO_TOKEN auth, DinD CI, E2E flow to feat: complete docker_publish skill — FORGEJO_TOKEN auth, DinD CI, E2E flow 2026-02-26 05:07:56 +00:00
- Replace actions/checkout@v4 with manual git clone (alpine musl incompatibility)
- Pass SSH keys via env: block to preserve multiline format
- Use ssh config instead of ssh-keyscan (hangs in DinD)
- Document DinD gotchas section
- Add 3 new failure modes from e2e testing
- Update Working Reference as confirmed

Co-Authored-By: mik-tf <mik@threefold.io>
docker_publish: multi-service production container section covering
dev vs prod Dockerfiles, multi-repo build scripts, service TOML
stripping, ONNX Runtime load-dynamic pattern, process supervisor
entrypoint, DinD CI with SSH forwarding, and 4 new failure modes.

forge_ci: DinD container build troubleshooting table — dockerd
transient failures, SSH agent forwarding, cache pollution, and
StrictHostKeyChecking.

hero_ecosystem: production container section with image tags, 20
service inventory, ONNX Runtime dependency, architecture overview,
and CI build reference.

Co-Authored-By: mik-tf <mik@threefold.io>
Author
Owner

Closing this PR — the DinD and docker_publish improvements are already in the active skills. A new clean PR will be created to sync all remaining skill differences into development at once.

Closing this PR — the DinD and docker_publish improvements are already in the active skills. A new clean PR will be created to sync all remaining skill differences into development at once.
mik-tf closed this pull request 2026-02-26 23:46:20 +00:00

Pull request closed

Sign in to join this conversation.
No reviewers
No labels
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
lhumina_code/hero_skills!28
No description provided.