ci-tools
ci-tools copied to clipboard
OCP5 enablement in ci-tools
This change prepares ci-tools for OpenShift 5.x support while maintaining backward compatibility with 4.x. It also generalizes version handling to support future major versions (6.x through 9.x).
Key changes:
Version Transition Logic (pkg/api/version.go):
- Added VersionTransitionOverrides map as single source of truth for cross-major version transitions (e.g., 5.0 -> 4.22)
- Added GetPreviousVersion and GetPreviousVersionSimple functions
- Handles the fact that 4.0 never existed (4.1 was the first 4.x release)
Updated Components:
- pkg/api/ocplifecycle: GetPastVersion/GetPastPastVersion now use centralized version logic
- pkg/jobrunaggregator: pass_fail.go and util.go use new version functions
- pkg/rehearse/jobs.go: Generalized relevancy for major versions 4-9
- pkg/release/prerelease: Dynamic stream derivation from version bounds, added StableLatestMajorMinor for any stream
- pkg/steps/release/promote.go: Tries stable streams 9 down to 4
CLI Tools Updated:
- cmd/cvp-trigger: Validates versions >= 4.x (not just 4.x)
- cmd/registry-replacer: Added --current-release-major flag
- cmd/ocp-build-data-enforcer: Added --major flag
The repository is now ready for OpenShift versions 4.x through 9.x.