Skip to content

bundle version increased type safety / serialization support#1938

Open
grokspawn wants to merge 3 commits intooperator-framework:masterfrom
grokspawn:release-types-play
Open

bundle version increased type safety / serialization support#1938
grokspawn wants to merge 3 commits intooperator-framework:masterfrom
grokspawn:release-types-play

Conversation

@grokspawn
Copy link
Contributor

@grokspawn grokspawn commented Mar 23, 2026

Description of the change:
This is a deliberate re-scoping of the CompositeVersion type to co-locate all the bits of dependency on use of the underlying blang semver PRVersion slice, by making this an explicit type.
The original implementation was evaluating the tradeoffs between re-use of the semver.Parse method versus re-implementing just the semver.org pre-release version info for validation.

api-diff is intended to fail here, and will need to be overridden (since we are un-exporting the fields to make this an opaque type).

Motivation for the change:

Reviewer Checklist

  • Implementation matches the proposed design, or proposal is updated to match implementation
  • Sufficient unit test coverage
  • Sufficient end-to-end test coverage
  • Docs updated or added to /docs
  • Commit messages sensible and descriptive

Signed-off-by: grokspawn <jordan@nimblewidget.com>
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Mar 23, 2026

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@openshift-ci openshift-ci bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Mar 23, 2026
@codecov
Copy link

codecov bot commented Mar 23, 2026

Codecov Report

❌ Patch coverage is 96.77419% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 57.74%. Comparing base (6ea0f39) to head (ef468c4).
⚠️ Report is 4 commits behind head on master.

Files with missing lines Patch % Lines
alpha/declcfg/declcfg.go 96.77% 0 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1938      +/-   ##
==========================================
+ Coverage   57.50%   57.74%   +0.24%     
==========================================
  Files         139      139              
  Lines       13339    13382      +43     
==========================================
+ Hits         7671     7728      +57     
+ Misses       4486     4468      -18     
- Partials     1182     1186       +4     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@grokspawn grokspawn marked this pull request as ready for review March 23, 2026 20:56
@openshift-ci openshift-ci bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Mar 23, 2026
@openshift-ci openshift-ci bot requested review from anik120 and pedjak March 23, 2026 20:56
Signed-off-by: grokspawn <jordan@nimblewidget.com>
@grokspawn grokspawn force-pushed the release-types-play branch from 9df00dd to 6121538 Compare March 24, 2026 21:14
@grokspawn grokspawn changed the title ensure that new types minimize internal access and maximize safeness bundle version increased type safety / serialization support Mar 25, 2026

// Validate against CRD constraint from operators.coreos.com/v1alpha1 ClusterServiceVersion
// Maximum length of 20 characters
if len(relStr) > 20 {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a value we can get that isn't a magic number?

Copy link
Contributor Author

@grokspawn grokspawn Mar 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There isn't one defined presently, but I'm happy to define a constant here for it. The reference is in the type here, but we're deliberately not using that type in this repo (to de-couple v0 & v1 uses), so we just need to be consistent.

@tmshort
Copy link
Contributor

tmshort commented Mar 26, 2026

/approve

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Mar 26, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: tmshort

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Mar 26, 2026
Signed-off-by: grokspawn <jordan@nimblewidget.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. go-apidiff-override

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants