Skip to content

fix(upgrade): deliver canary version only to test_farms - #121

Merged
ashraffouda merged 1 commit into
mainfrom
fix-canary-rollout
Jul 28, 2026
Merged

fix(upgrade): deliver canary version only to test_farms#121
ashraffouda merged 1 commit into
mainfrom
fix-canary-rollout

Conversation

@ashraffouda

Copy link
Copy Markdown
Collaborator

The update worker now holds the network latest symlink at the last GA version during a canary (safe_to_upgrade = false), so the upgrader can no longer assume the symlink equals the version the node should run.

Compute the target version from the chain and, for a node whose farm is in test_farms during a canary, retarget the taglink at the chain version tag directly (resolvable on the hub independently of the latest symlink) instead of the held-back symlink. Non-canary and freshly bootstrapped nodes follow the GA symlink; once safe_to_upgrade flips true and the worker advances the symlink, everyone rolls forward.

Description

Describe the changes introduced by this PR and what does it affect

Changes

List of changes this PR includes

Related Issues

List of related issues

Checklist

  • Tests included
  • Build pass
  • Documentation
  • Code format and docstring

The update worker now holds the network `latest` symlink at the last GA
version during a canary (safe_to_upgrade = false), so the upgrader can no
longer assume the symlink equals the version the node should run.

Compute the target version from the chain and, for a node whose farm is
in test_farms during a canary, retarget the taglink at the chain version
tag directly (resolvable on the hub independently of the latest symlink)
instead of the held-back symlink. Non-canary and freshly bootstrapped
nodes follow the GA symlink; once safe_to_upgrade flips true and the
worker advances the symlink, everyone rolls forward.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@ashraffouda
ashraffouda merged commit 0516cc1 into main Jul 28, 2026
1 check passed
@ashraffouda
ashraffouda deleted the fix-canary-rollout branch July 28, 2026 10:22
ashraffouda added a commit that referenced this pull request Jul 28, 2026
Dev is not part of canary rollouts — dev envs are updated when code is
merged to main. The canary change (#121) started gating dev nodes by
safe_to_upgrade / test_farms, which could make a dev node wait instead of
tracking latest.

Make dev fully exempt: a dev node follows its network `latest` symlink
unconditionally (no safe_to_upgrade / test_farms gating) and skips the
version-match check.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
ashraffouda added a commit that referenced this pull request Jul 28, 2026
Dev is not part of canary rollouts — dev envs are updated when code is
merged to main. The canary change (#121) started gating dev nodes by
safe_to_upgrade / test_farms, which could make a dev node wait instead of
tracking latest.

Make dev fully exempt: a dev node follows its network `latest` symlink
unconditionally (no safe_to_upgrade / test_farms gating) and skips the
version-match check.

Co-authored-by: Claude Opus 4.8 <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