| name | build-docker-image |
| description | Trigger Docker image builds for Hyperlane agent, monorepo, or node service images. Use when the user wants to build new Docker images for a branch, commit, or tag. |
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:
gh workflow run rust-docker.yml --ref <branch>
gh workflow run monorepo-docker.yml --ref <branch>
gh workflow run node-services-docker.yml --ref <branch>
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-image skill.
- See
docs/docker-image-policy.md for the full Docker image policy.