You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 7ef51d7
Browse filesBrowse the repository at this point in the historyBrowse files
-**Overview**: Build and publish the changed image(s) from your branch, temporarily point CI to those branch tags, merge, then repoint CI back to `:main`.
36
+
37
+
## Step-by-step
38
+
39
+
1.**Edit the Dockerfile**
40
+
- Update the relevant stage(s) inside `Dockerfile` for the image(s) you’re changing.
41
+
42
+
2.**Push changes to a feature branch**
43
+
- Open a PR as usual.
44
+
45
+
3.**Build image(s) for your branch**
46
+
- In GitHub Actions, run the workflow "Build base development images" against your branch (file: `.github/workflows/reusable-publish-docker.yaml`).
47
+
- This builds all images (base and nodes) for both `linux/amd64` and `linux/arm64` and publishes a multi-arch manifest with tags:
48
+
-**branch tag** (normalized from your branch name)
49
+
-**commit SHA**
50
+
-**latest** (only on default branch)
51
+
52
+
4.**Temporarily point CI to your branch image(s)**
53
+
- Replace `:main` with your branch tag only for the image(s) you changed.
54
+
- Files to update:
55
+
-`.github/workflows/reusable-publish.yaml`
56
+
- If you changed the `base` image: `jobs.publish.container.image`
57
+
-`.github/workflows/reusable-test.yaml`
58
+
- If you changed the `base` image:
59
+
-`jobs.build.container.image`
60
+
-`jobs.test.env.DEVTOOLS_BASE_IMAGE`
61
+
-`jobs.test-user.env.DEVTOOLS_BASE_IMAGE`
62
+
- If you changed node image(s), update the matching env var(s):
- To: `ghcr.io/layerzero-labs/devtools-dev-base:<your-branch-tag>`
71
+
- Note: the branch tag is derived from your branch name (slashes and unsafe chars are normalized). If unsure, confirm the exact tag in the GHCR package page or in the "Inspect image" step of the publish workflow.
72
+
73
+
5.**Validate CI on the PR**
74
+
- Ensure all checks pass while using the branch-tagged base image.
75
+
76
+
6.**Merge to `main`**
77
+
- After merge, re-run "Build base development images" on `main` to publish updated `:main` (and `:latest`) multi-arch image(s) for all affected targets.
78
+
79
+
7.**Revert workflow image references to `:main`**
80
+
- Open a small follow-up PR that restores all temporary replacements back to `:main` for every image you switched in Step 4.
81
+
82
+
## Tips
83
+
84
+
- You can quickly locate references with a search for `ghcr.io/layerzero-labs/devtools-dev-`.
85
+
- Switch only the images you changed; leave the rest on `:main`.
0 commit comments