Files
Carly de FrondevilleandGitHub 8126039ecd Versioning refactor (#7733)
## What changed?
Change version string to a struct
- The worker management workflows have not changed in this PR, instead,
the new inputs are converted to the old inputs when they come in, and
the responses are filled in to have both the old and new fields
- Only the new way to specify version transition is stored in MS, but
both are populated on read
- Change VersioningOverride so that we can safely specify multiple types
of pinned override in the future
- Store only the new fields, return the old fields on read.

## Why?
So that we don't have to rely on the string representation of a version,
and to make way for more types of PINNED.

## How did you test it?
- [x] built
- [x] run locally and tested manually
- [x] covered by existing tests
- [x] added new unit test(s)
- [x] added new functional test(s)

## Potential risks
This could theoretically break how workflow execution versioning info
and old versioning overrides are handled when they are read, how
pinned-ness is calculated, etc. The functional tests in
versioning_3_test.go test for this, and they revealed mistakes I had
made, which means we know those code paths are executed.

I did not change anything in the Deployment Manager workflows, so this
PR does not risk breaking those workflows via an incompatible change.

Tests in DeploymentVersionSuite guard against the risk of older SDK
users not seeing the fields they expect.
2025-05-19 07:57:07 +00:00
..
2025-05-19 07:57:07 +00:00