Skip to content

eliminate skipping same-Y.maxZ, which should only replace #1749

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conversation

grokspawn
Copy link
Contributor

@grokspawn grokspawn commented Aug 19, 2025

Description of the change:

Don't generate a skips edge for Y.Z(max) to Y-1.Z(max).

Motivation for the change:

semver template expansion would include a skips link for Y.Z(max) for Y-1.Z(max), but we want Y transitions (for major-versioned channels) to replace the previous Y's Z(max). Unfortunately, due to OLMv0 graph mechanics, the skips results in discarding the replaces link, so the upgrade is broken. (For OLMv1, no graph contributions are ignored.)

Using a new version of opm which can highlight v0 upgrade graph semantics, this problem is clearer. Below picture shows limned in red every package whose contributions are ignored because of the presence of skips links, and every ignored link is ch
mermaid-diagram-2025-08-19-102936
anged to a red, dashed line.

The updated flow will no longer generate a skip for a replaces edge, which renders the below graph, which has full mobility across the graph.
mermaid-diagram-2025-08-19-103312

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>
Copy link

codecov bot commented Aug 19, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
⚠️ Please upload report for BASE (master@b5c503a). Learn more about missing BASE report.
⚠️ Report is 15 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff            @@
##             master    #1749   +/-   ##
=========================================
  Coverage          ?   55.17%           
=========================================
  Files             ?      136           
  Lines             ?    15917           
  Branches          ?        0           
=========================================
  Hits              ?     8782           
  Misses            ?     5982           
  Partials          ?     1153           

☔ 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
Copy link
Contributor Author

/approve

@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Aug 20, 2025
Copy link
Contributor

@camilamacedo86 camilamacedo86 left a comment

Choose a reason for hiding this comment

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

It make sense for me 👍

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Aug 20, 2025
Copy link
Contributor

openshift-ci bot commented Aug 20, 2025

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: camilamacedo86, grokspawn

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

The pull request process is described here

Needs approval from an approver in each of these files:
  • OWNERS [camilamacedo86,grokspawn]

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

@camilamacedo86
Copy link
Contributor

/lgtm

@openshift-merge-bot openshift-merge-bot bot merged commit a0e2cf8 into operator-framework:master Aug 20, 2025
13 checks passed
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. lgtm Indicates that a PR is ready to be merged.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants