Skip to content

Conversation

igorpecovnik
Copy link
Member

@igorpecovnik igorpecovnik commented Sep 1, 2025

Description

Since Ubuntu Plucky was introduced, we have to provide possibility to upgrade to that.

How Has This Been Tested?

  • Tested upgrades from Jammy, Noble, Bookworm

Checklist:

  • My changes generate no new warnings
  • Any dependent changes have been merged and published in downstream modules

Copy link
Contributor

coderabbitai bot commented Sep 1, 2025

Walkthrough

Updated upgrade target mappings in four distribution config files (data-only):

  • config/distributions/focal/upgrade: appended "plucky" (jammy,noble,oracular → jammy,noble,oracular,plucky).
  • config/distributions/jammy/upgrade: appended "plucky" (noble,oracular → noble,oracular,plucky).
  • config/distributions/noble/upgrade: appended "plucky" (oracular → oracular,plucky).
  • config/distributions/oracular/upgrade: replaced "none" with "plucky".
    No structural, code, or API changes.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Pre-merge checks (3 passed)

✅ Passed checks (3 passed)
Check name Status Explanation
Title Check ✅ Passed The title "Upstream releases: update release upgrade paths" accurately and concisely summarizes the primary change in this PR—updating upstream release upgrade mappings (adding Plucky) in distribution configuration files. It is focused, on-topic, and free of noise or irrelevant details. A reviewer scanning history can understand the main intent from this title.
Description Check ✅ Passed The PR description directly describes the intent to add upgrade paths for Ubuntu Plucky, notes which upgrades were tested (Jammy, Noble, Bookworm), and clarifies that upgrade logic lives in armbian-config, so it is clearly related to the configuration changes in the diff. The level of detail meets this lenient check's requirements. The description is on-topic and helpful for reviewers.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Title Check ✅ Passed The title "Upstream releases: update release upgrade paths" succinctly summarizes the main change of adding or modifying the upgrade paths for upstream releases without extraneous detail or unrelated content. It directly reflects that the pull request concerns updating release upgrade paths for multiple distributions, aligning precisely with the modifications in the configuration files.
Description Check ✅ Passed The pull request description explains that the change adds support for upgrading to Ubuntu Plucky, details how testing was conducted, and confirms that no warnings or unresolved dependencies remain. This description directly relates to the configuration updates in the upgrade paths and stays on topic without introducing unrelated information.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch rel-upg

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Jira integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 45845ef and 754e4fc.

📒 Files selected for processing (4)
  • config/distributions/focal/upgrade (1 hunks)
  • config/distributions/jammy/upgrade (1 hunks)
  • config/distributions/noble/upgrade (1 hunks)
  • config/distributions/oracular/upgrade (1 hunks)
✅ Files skipped from review due to trivial changes (1)
  • config/distributions/jammy/upgrade
🚧 Files skipped from review as they are similar to previous changes (3)
  • config/distributions/oracular/upgrade
  • config/distributions/focal/upgrade
  • config/distributions/noble/upgrade

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions github-actions bot added 11 Milestone: Fourth quarter release size/small PR with less then 50 lines Needs review Seeking for review labels Sep 1, 2025
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 1fae738 and 5f29a24.

📒 Files selected for processing (4)
  • config/distributions/focal/upgrade (1 hunks)
  • config/distributions/jammy/upgrade (1 hunks)
  • config/distributions/noble/upgrade (1 hunks)
  • config/distributions/oracular/upgrade (1 hunks)
🧰 Additional context used
🧠 Learnings (1)
📓 Common learnings
Learnt from: leggewie
PR: armbian/build#8357
File: config/boards/qcom-robotics-rb5.conf:88-88
Timestamp: 2025-07-04T18:33:19.873Z
Learning: In the Armbian build system, package transitions in Debian/Ubuntu don't happen uniformly across all releases. For example, the transition from plasma-workspace-wayland to plasma-workspace occurred in newer releases like trixie (Debian testing) around July 2024, but older releases like jammy (Ubuntu 22.04) still maintain the original plasma-workspace-wayland package. Release-specific package availability must be considered when updating package references.
🔇 Additional comments (3)
config/distributions/oracular/upgrade (1)

1-1: Oracular → Plucky upgrade enabled (24.10 → 25.04). LGTM.

Matches expected forward path after Oracular EOL.

config/distributions/jammy/upgrade (1)

1-1: Confirm upgrade target precedence from CSV order.

If the upgrader prefers the first entry, Jammy defaults to Noble (LTS) over Plucky (interim). Verify this is intentional.

config/distributions/noble/upgrade (1)

1-1: Noble → Plucky added. LGTM.

Keeps fastest forward path current.

@leggewie leggewie self-requested a review September 1, 2025 21:58
Copy link
Collaborator

@leggewie leggewie left a comment

Choose a reason for hiding this comment

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

I believe this change is wrong, but I might also misunderstand the semantics of this code. In any case, you cannot upgrade directly from noble to plucky, you have to pass through oracular first. The only time you can skip a release in an upgrade is when going from LTS to LTS.

c.f. https://help.ubuntu.com/community/UpgradeNotes

@igorpecovnik
Copy link
Member Author

igorpecovnik commented Sep 1, 2025

I believe this change is wrong, but I might also misunderstand the semantics of this code.

It defines possible upgrade path. The rest of the logic is in armbian-config

you cannot upgrade directly from noble to plucky, you have to pass through oracular first

You can, works, but there is of course no guarantee of success. That everything will work. Here LTS - new LTS, oldstable - stable ... that is important. The rest is experimental anyway.

@leggewie
Copy link
Collaborator

leggewie commented Sep 3, 2025

You can

You can do all kinds of things, including shooting yourself in the foot with a shotgun among other things. You can also ignore a "you can't" that was supported by a reference to the relevant documentation saying so.

But I have to wonder why you all so often do these kinds of things that will you get in trouble, @igorpecovnik ?

@igorpecovnik
Copy link
Member Author

igorpecovnik commented Sep 3, 2025

APT is "advanced" but this is what we have. We don't have build-in function to (auto)reverse in case things go south ... distribution upgrade is troublesome / critical operation by default, LTS or non LTS, but people still wants to do it. During my testings I had success with Debian minimal and troubles with Ubuntu LTS minimal ... but this also don't tell anything.

Now. We can ignore and keep elitist position (which is also wrong as Ubuntu Jammy - Noble upgrade had many broken dependencies and force fix was needed, while Debian upgrade went smooth) or say: "it is experimental feature, use at your own risk" - similar to kernel changing.
https://github.com/armbian/configng/blob/main/tools/json/config.system.json#L541-L553
This PR has nothing to do with any of this as it only stores information on possible upgrade. Additional conditioning can be implemented into armbian-config. I was thinking to disable this feature for Ubuntu and only keep Debian.

@leggewie
Copy link
Collaborator

leggewie commented Sep 4, 2025

Oh my!

I have to ask, did you actually read the source I gave? https://help.ubuntu.com/community/UpgradeNotes I thought you are actually aware of this and the source wasn't even needed, but I am not so sure anymore.

Again, why insist on a quirky way that the upstream you rely on clearly says is "not supported"? I just don't get you. Why are we even arguing?

@igorpecovnik igorpecovnik added Ready to merge Reviewed, tested and ready for merge and removed Needs review Seeking for review labels Sep 6, 2025
@github-actions github-actions bot added Needs review Seeking for review and removed Ready to merge Reviewed, tested and ready for merge labels Sep 12, 2025
@igorpecovnik igorpecovnik added Ready to merge Reviewed, tested and ready for merge and removed Needs review Seeking for review labels Sep 28, 2025
@igorpecovnik igorpecovnik merged commit 0b9c189 into main Sep 28, 2025
11 checks passed
@igorpecovnik igorpecovnik deleted the rel-upg branch September 28, 2025 04:45
@leggewie
Copy link
Collaborator

leggewie commented Sep 28, 2025

@igorpecovnik again, I have to ask, why ask for review when even when you are told that a commit is wrong, a bad idea and clearly against explicitly stated policy and WILL break things and then you still go ahead and merge the code regardless?

Your insistence on poor choices is one of the reasons armbian-configng will always be a tool one has to advise users to stay far away from as I found out within hours of testing armbian for the first time.

why do you not listen to arguments?

@igorpecovnik
Copy link
Member Author

Nothing will break. This here is just information placement. Which is correct.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
11 Milestone: Fourth quarter release Ready to merge Reviewed, tested and ready for merge size/small PR with less then 50 lines
Development

Successfully merging this pull request may close these issues.

2 participants