build(linstor): include linstor-gui in root image build target - #2498
Conversation
Summary of ChangesHello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request addresses an issue where the linstor-gui package was missing from the automated build pipeline. By integrating it into the root Makefile, the package will now be correctly built and published to the registry, allowing for proper image tagging and digest pinning in the project configuration. Highlights
🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console. Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on Gemini (@gemini-code-assist) comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here. Footnotes
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThe main Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
The linstor-gui package was added in #2382 with its own per-package Makefile and Dockerfile, but the root Makefile's `build:` target was not updated to invoke it. As a result `ghcr.io/cozystack/cozystack/ linstor-gui` has never been published (registry returns NAME_UNKNOWN) and the chart's `image.tag` was never digest-pinned. Any cluster deploying the chart hits ImagePullBackOff. Wire the package into the root build alongside the other system images. The next CI build will publish the image and the per-package Makefile will rewrite values.yaml `image.repository`/`image.tag` to a digest-pinned reference automatically. Assisted-By: Claude <noreply@anthropic.com> Signed-off-by: Myasnikov Daniil <myasnikovdaniil2001@gmail.com>
9bae153 to
7443e22
Compare
There was a problem hiding this comment.
Code Review
This pull request updates the Makefile to include the linstor-gui package in the build process, ensuring its image is built alongside other system components. A review comment identifies that the release note in the pull request body does not follow the mandatory format required by the repository's style guide.
| make -C packages/system/lineage-controller-webhook image | ||
| make -C packages/system/cilium image | ||
| make -C packages/system/linstor image | ||
| make -C packages/system/linstor-gui image |
There was a problem hiding this comment.
The release note in the pull request body does not follow the required format specified in the repository style guide (Rule 55). It should follow the type(scope): human-readable changelog entry format. For example: fix(linstor-gui): fix image not being built or published by CI.
References
- PR body must contain a release note block following the format: type(scope): human-readable changelog entry. (link)
The per-package Makefile added in #2382 hardcoded buildx flags (--provenance, --builder, --platform=linux/amd64,linux/arm64, --push, --load, --label) instead of using the shared $(BUILDX_ARGS) macro from hack/common-envs.mk. This broke CI: the runner's default docker driver does not support multi-platform builds, and the hardcoded multi-arch platform list crashed `make build` with "Multi-platform build is not supported for the docker driver." Replace the hardcoded flags with $(BUILDX_ARGS) to match every other package (e.g. linstor, dashboard, cilium). $(BUILDX_ARGS) injects --push, --load, --label, --provenance=false, and only sets --builder or --platform when the operator explicitly exports BUILDER/PLATFORM. Assisted-By: Claude <noreply@anthropic.com> Signed-off-by: Myasnikov Daniil <myasnikovdaniil2001@gmail.com>
Aleksei Sviridkin (lexfrei)
left a comment
There was a problem hiding this comment.
Correct fix: linstor-gui was added in #2382 but never wired into the root build target, leaving ghcr.io/cozystack/cozystack/linstor-gui absent from the registry. The BUILDX_ARGS refactor aligns with every other system package and cleans up the unconditional --builder= expansion that was always emitted even when BUILDER was unset.
|
Successfully created backport PR for |
The auto-generated changelog only listed #2459/#2467 (velero-configmap Role move). Five additional PRs were backported and merged into release-1.3 between then and the v1.3.1 tag (2026-04-28): - #2471/#2524 - fix(api): IDOR in TenantNamespace Get/Watch - #2496/#2505 - feat(linstor): linstor-csi v1.10.6 (Protocol-C dual-attach) - #2462/#2511 - fix(etcd): remove destructive post-upgrade hook - #2421/#2491 - fix(kamaji): memory limits + startup probe - #2498/#2518 - build(linstor): wire linstor-gui into root build target Update the release date to match the actual tag (2026-04-28), rewrite the intro paragraph, and add @kvaps to contributors. Signed-off-by: Myasnikov Daniil <myasnikovdaniil2001@gmail.com>
What this PR does
The
linstor-guipackage (added in #2382) was never wired into the rootMakefile'sbuild:target, so the image is not built or published by CI.ghcr.io/cozystack/cozystack/linstor-guireturnsNAME_UNKNOWNfrom the GHCR API, andvalues.yamlstill pinstag: 2.3.0without a digest because the per-package Makefile that rewrites the tag after a successful push has never run in CI.This PR adds the missing line so the next build publishes the image and digest-pins
values.yamlautomatically.Release note
Summary by CodeRabbit