← Back to issue list

feat(kernel,initrd): extend plugins with new options, stabilize

View original Github issue

Metadata

Project
snapcraft
Number
#6254
Type
pull request
State
merged
Author
dilyn-corner
Labels
PR: Run Manual Spread
Created
Updated
Closed

Current evaluation

Merged after approval. Extended the kernel plugin with new options, stabilized the initrd plugin, improved documentation, and added tests. Resolved a temporary Resolute tarball naming divergence. Core CI checks passed.

Suggested action:

No scores available.

Issue body

This PR extends the behavior of the kernel plugin to include features desired by the Canonical Kernel team. While these options are intended for that specific usage, they are valid options to use in other use-cases. Their inclusion has expand the complexity of the kernel plugin, so documentation has been improved to try and clarify the most salient choices which impact the decisions snapcrafters should make when crafting a kernel snap. A new spread test has been added (kernel-deb, and the old kernel-deb test has been renamed kernel-bin) to cover this case in a sufficiently comprehensive way. Comments have been added to the kernel build script to identify the primary patterns of behavior the script will execute. Test coverage has been expanded to cover the new options. The initrd plugin's behavior has been modified a bit to improve usability and stability. It should be less fragile now, especially when it comes to cleaning the environment. The overall behavior and stability of the plugins has been improved. These changes have been tested by Field and the Kernel team has discussed them (I will not speak for them, we can always ask). All spread and unit tests pass locally. Docs lint and render well :) Any behavior-specific changes (like naming the installed kernel image file `vmlinuz` instead of `kernel.img`) have been debated internally so all stakeholders are aware of these things; the impact should be minimal as most users are those same stakeholders. ~~**A caveat**: with the release of Resolute, a change was made in the location and name of the Resolute release tarball used by the initrd plugin. I have been informed that this is only a *short-term divergence* and the prior naming convention will be reused at some point. This means that there will be a future PR to fix the initrd plugin once this happens. I have no timelines for this, but I have setup daily tests to check this URL :)~~ This has been resolved. This PR precedes #6255, which updates the feature branch to `HEAD`. The line count is deceptive; the new test adds a whole kernel config file. This alone is over 4k lines. CC @jicheu @atomcult @kubiko @stewarthore --- - [x] I've followed the [contribution guidelines](https://github.com/canonical/snapcraft/blob/main/CONTRIBUTING.md). - [x] I've signed the [CLA](http://www.ubuntu.com/legal/contributors/). - [x] I've successfully run `make lint && make test`. - [x] I've added or updated any relevant documentation. - [x] In documents I changed, I [added a meta description](https://canonical-starflow.readthedocs-hosted.com/how-to/add-a-page-meta-description/) if one was missing. - [x] I've updated the relevant release notes.

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.6-35b-a3b Merged after approval. Extended the kernel plugin with new options, stabilized the initrd plugin, improved documentation, and added tests. Resolved a temporary Resolute tarball naming divergence. Core CI checks passed.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#6116 feat: kernel|initrd plugins: extend and improve behavior snapcraft merged Merged after review and testing. Extended kernel and initrd plugins by migrating fetch logic, adding Ubuntu release and binary package options, and supporting extra kernel tools. Removed ZFS/DKMS support in favor of documentation. Supersedes #6102.
81%
#5814 feat(plugins): add kernel and initrd plugins snapcraft merged Merged into a feature branch after simplifying kernel and initrd plugin logic and addressing review feedback. Unrelated spread test failures prompted a temporary merge to prevent staleness, with full integration pending upstream fixes.
80%
#6255 Feature/kernel initrd plugin merge snapcraft merged Merged after resolving conflicts and aligning with HEAD. Integrates kernel initrd plugin support, requires PR #6254, approved by two reviewers, and passed CI checks.
77%
#3998 Kernel plugin: multiple fixes snapcraft merged Merged multiple kernel plugin fixes addressing a regression, a crash when no kernel modules are defined, documentation updates, and initramfs overlay warnings. Approved by one reviewer and passed CI checks.
77%
#4057 Kernel plugin: reapplying missed fixes snapcraft merged Merged after applying missed kernel plugin fixes: crash prevention, docs, warnings, and Ubuntu Core 20 initramfs improvements. Approved, passed CI, and merged with updated unit tests.
76%
#6102 feat: kernel|initrd plugins: extend and improve behavior snapcraft closed Superseded by PR #6110. The changes were reverted to prevent conflicts with a newly merged kernel plugin that would break existing users. The author closed this PR and redirected development to the replacement.
75%
#6284 feat: merge feature/kernel initrd plugin into main snapcraft merged Merged into main following two reviewer approvals. Integrates a feature branch adding kernel and initrd plugins for base: core22 and higher. The change spans 32 files, adding 8281 lines and removing 6257.
75%
#4104 plugins: kernel plugin fixes and spread tests snapcraft merged Merged after approval. Resolves core22 kernel plugin shell script issues, adds software-properties-common installation, and introduces spread tests for v2 and craft-parts kernel plugins. Credits PR #4064. CI passed.
74%
#5640 plugins(ubuntu-kernel): Add new plugin for Ubuntu kernels snapcraft merged Merged to a feature branch. Adds a new Ubuntu kernel plugin standardizing local and product builds. Approved by three reviewers with passing CI. Squash-merged per request, deferring unit tests to a follow-up PR. Implements KE030 spec.
72%
#476 kernel plugin: iterate over modules to add to initrd snapcraft merged Merged updates to the kernel plugin that iterate over modules for initrd inclusion. Approved by @kyrofa following successful tests. Resolves LP #1572118 with 36 additions and 6 deletions across two files.
72%