Trigger Docker Image Builds
Build and publish Docker images to GHCR (ghcr.io/hyperlane-xyz/*).
Workflows
| Workflow | Image(s) | Contents |
|---|---|---|
rust-docker.yml |
hyperlane-agent |
Rust relayer, validator, scraper |
monorepo-docker.yml |
hyperlane-monorepo |
Full TS/Solidity monorepo |
node-services-docker.yml |
hyperlane-node-services |
All TS node services (rebalancer, warp-monitor, ccip-server, keyfunder, relayer) |
How to Trigger
Use gh workflow run with --ref to specify the branch, tag, or commit:
# Agent image (Rust)
gh workflow run rust-docker.yml --ref <branch>
# Monorepo image
gh workflow run monorepo-docker.yml --ref <branch>
# Node services (single unified image)
gh workflow run node-services-docker.yml --ref <branch>
# Include arm64 (multi-arch, slower)
gh workflow run rust-docker.yml --ref <branch> -f include_arm64=true
--ref defaults to main if omitted.
After Triggering
Get the run URL:
gh run list --workflow=<workflow>.yml --limit=1 --json url --jq '.[].url'Get the run ID (wait a few seconds after triggering for the run to appear):
gh run list --workflow=<workflow>.yml --limit=1 --json databaseId,status,createdAt --jq '.[0]'Watch it:
gh run watch <run-id>The resulting image tag will be
<7-char-sha>-<YYYYMMDD>-<HHMMSS>, e.g.c558a9f-20260304-105241.Images are at
ghcr.io/hyperlane-xyz/<image-name>:<tag>.
Instructions
- Ask the user which image(s) they want to build (agent, monorepo, node services, or all).
- Ask which branch/ref (default:
main). - Ask if arm64 is needed (default: no).
- Trigger the workflow(s) with
gh workflow run. - Fetch and report the run URL(s) using
gh run list. - Optionally watch for completion if the user wants to wait.
References
- To find existing images instead of building, use the
/find-docker-imageskill. - See
docs/docker-image-policy.mdfor the full Docker image policy.