Skip to content

Add upgrade-on-CAN support#2811

Open
THardy98 wants to merge 3 commits intomasterfrom
pr/upgrade-on-can
Open

Add upgrade-on-CAN support#2811
THardy98 wants to merge 3 commits intomasterfrom
pr/upgrade-on-can

Conversation

@THardy98
Copy link
Contributor

@THardy98 THardy98 commented Mar 18, 2026

Summary

  • Allow PINNED workflows to detect when the target worker deployment version has changed via WorkflowInfo.isTargetWorkerDeploymentVersionChanged()
  • Add initialVersioningBehavior option on ContinueAsNewOptions to support upgrading to the latest version on continue-as-new (AUTO_UPGRADE)
  • Update proto submodule for new ContinueAsNewVersioningBehavior and targetWorkerDeploymentVersionChanged fields
  • Add isTargetWorkerDeploymentVersionChanged() override in DummySyncWorkflowContext
  • Add integration test for the full upgrade-on-CAN flow

@THardy98 THardy98 marked this pull request as ready for review March 18, 2026 16:30
@THardy98 THardy98 requested a review from a team as a code owner March 18, 2026 16:30
@THardy98 THardy98 force-pushed the pr/upgrade-on-can branch 2 times, most recently from d1cebc1 to 13b3773 Compare March 18, 2026 17:18
- Add isTargetWorkerDeploymentVersionChanged() to WorkflowInfo, plumbed
  through WorkflowTaskStateMachine → WorkflowStateMachines →
  ReplayWorkflowContext → WorkflowInfoImpl → WorkflowInfo
- Add initialVersioningBehavior on ContinueAsNewOptions, allowing
  workflows to CAN with AUTO_UPGRADE to move to the new version
- Wire initialVersioningBehavior encoding in SyncWorkflowContext
- Update API proto submodule to include api#709 and #721 changes
- Fix NexusWorker deprecation warnings from proto update

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@THardy98 THardy98 force-pushed the pr/upgrade-on-can branch from 13b3773 to 82235fc Compare March 18, 2026 19:09
THardy98 and others added 2 commits March 18, 2026 12:24
…rsioning test

The CAN test workflows no longer inherit unnecessary mySignal/getState
methods from QueryableWorkflow. Instead they implement a dedicated
ContinueAsNewVersionUpgradeWorkflow interface with execute(int attempt),
matching the pattern used by other SDKs (Python/Go/TS/.NET).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add @SuppressWarnings("deprecation") to test methods calling the
deprecated setOperationError() API, preventing -Werror from failing
the build.

Co-Authored-By: Claude Opus 4.6 (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