Skip to content

fix(openclaw): bump dev/prod tag to 2026.4.25-slim-71624b4 (built + in ECR)#409

Merged
prez2307 merged 1 commit into
mainfrom
fix/openclaw-tag-bump
Apr 28, 2026
Merged

fix(openclaw): bump dev/prod tag to 2026.4.25-slim-71624b4 (built + in ECR)#409
prez2307 merged 1 commit into
mainfrom
fix/openclaw-tag-bump

Conversation

@prez2307
Copy link
Copy Markdown
Contributor

Summary

Bumps dev.tag / prod.tag from the placeholder *-bootstrap to the actual 2026.4.25-slim-71624b4 image that just landed in ECR.

Verified

$ aws ecr describe-images --repository-name isol8/openclaw-extended --image-ids imageTag=2026.4.25-slim-71624b4
{
    "tag": "2026.4.25-slim-71624b4",
    "digest": "sha256:0409487c9c3b9d2bdcf2f5386357c852aa3041abc7afd40be444e2381ee14e4a",
    "pushed": "2026-04-27T23:42:31.008000-04:00"
}

Built by build-openclaw-image run 25032408047 against main 71624b41 — which carries:

Why this unblocks everything

Every CDK deploy since #404 has been failing because dev.tag pointed at the *-bootstrap placeholder, which doesn't resolve in ECR. Merging this lets CDK actually pull the new image; the per-user OpenClaw containers will pick it up on the next provision (or via re-provision for an existing user).

Test plan

  • deploy workflow goes green on the merge commit
  • Re-provision the dev test user and confirm the chatgpt_oauth container starts with the new image + CODEX_HOME env var
  • Smoke-test ChatGPT OAuth end-to-end on dev

🤖 Generated with Claude Code

…71624b4

Verified in ECR:
  isol8/openclaw-extended:2026.4.25-slim-71624b4
  digest sha256:0409487c9c3b9d2bdcf2f5386357c852aa3041abc7afd40be444e2381ee14e4a
  pushed 2026-04-27 23:42:31 EDT

Built by build-openclaw-image run 25032408047 against main 71624b4
(the gh-via-apt fix from #408 on top of the 4.25-slim switch from #407
on top of the codex-auth env-var fix from #404).

This unblocks the deploy chain — CDK has been failing every cycle since
#404 because dev.tag pointed at the placeholder *-bootstrap value. Once
this PR merges, deploy.yml will pull the new image and the per-user
container task def will reference it on the next provision.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@prez2307 prez2307 merged commit 0d59574 into main Apr 28, 2026
@prez2307 prez2307 deleted the fix/openclaw-tag-bump branch April 28, 2026 03:43
prez2307 added a commit that referenced this pull request Apr 28, 2026
…milies (#410)

The CDK base task def and per-user clones used to register into the same
ECS family (`isol8-{env}-openclaw`). #299 had to add an SSM-pinned ARN to
work around the resulting "describe-by-family returns a per-user clone"
problem. Then today (#404#409 deploy chain) we hit the OTHER edge of
that workaround: the ARN is injected into the backend via
`ecs.Secret.fromSsmParameter`, which resolves at TASK STARTUP only —
never refreshes. The running backend started with SSM=rev 1011 cached
and cloned per-user task defs from that stale revision through every
subsequent CDK deploy, producing a per-user task def 1016 that pulled
a placeholder image (`2026.4.25-bootstrap`) which doesn't exist in ECR.

Two underlying causes:
  1. Co-mingled families forced a workaround.
  2. The workaround cached its input at startup.

Fix the FAMILY problem and both downstream issues collapse:

* `EcsManager._build_register_kwargs_from_base` now describes the bare
  base family (e.g. `isol8-dev-openclaw`) — that family contains ONLY
  CDK base revisions because per-user clones go to `<base>-user`.
  ECS returns the latest base revision deterministically.

* Per-user clones register into `f"{base['family']}-user"` so they
  don't pollute the base family. Existing per-user task defs on the
  old family stay valid (they're full ARNs); they age out as users
  re-provision.

* Drop the SSM param + `ECS_TASK_DEFINITION` env var + the
  `ecs.Secret.fromSsmParameter` wiring + the cached `self._task_def`.
  Less code, no startup cache to go stale, no incident class.

* Drop the lingering CFN `exportValue` from container-stack (added in
  #299 to keep the cross-stack import alive across the SSM transition;
  no consumers now).

Tests updated:
  - `test_clones_task_def_with_access_point` asserts describe-by-family
    AND that the registered family is `<base>-user`.
  - `test_resize_reads_env_from_base_not_current` docstring updated
    to reflect the new mechanism.
  - All 1085 unit tests pass.
  - 11 pre-existing CDK Jest failures unrelated to this change.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant