Skip to content

build(linstor): include linstor-gui in root image build target - #2498

Merged
Aleksei Sviridkin (lexfrei) merged 2 commits into
mainfrom
fix/linstor-gui-image-build
Apr 28, 2026
Merged

build(linstor): include linstor-gui in root image build target#2498
Aleksei Sviridkin (lexfrei) merged 2 commits into
mainfrom
fix/linstor-gui-image-build

Conversation

@myasnikovdaniil

@myasnikovdaniil myasnikovdaniil commented Apr 27, 2026

Copy link
Copy Markdown
Contributor

What this PR does

The linstor-gui package (added in #2382) was never wired into the root Makefile's build: target, so the image is not built or published by CI. ghcr.io/cozystack/cozystack/linstor-gui returns NAME_UNKNOWN from the GHCR API, and values.yaml still pins tag: 2.3.0 without 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.yaml automatically.

Release note

build(linstor): include linstor-gui in root image build target so the image is built and published by CI (the chart previously referenced an image that did not exist in the registry)

Summary by CodeRabbit

  • Chores
    • Integrated the linstor-gui container image build into the main image build workflow so the GUI image is produced as part of standard builds.
    • Streamlined the GUI image build configuration to use consolidated build arguments, improving consistency and maintainability of automated image builds and metadata updates.

@gemini-code-assist

Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, 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

  • Build Configuration: Added the linstor-gui package to the root Makefile build target to ensure it is included in the CI image build process.

🧠 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 Assist

The 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 /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment Gemini (@gemini-code-assist) Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

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 .gemini/ folder in the base of the repository. Detailed instructions can be found here.

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

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@github-actions github-actions Bot added the area/uncategorized PR auto-labeler could not map title scope to a known area/*; please review label Apr 27, 2026
@coderabbitai

coderabbitai Bot commented Apr 27, 2026

Copy link
Copy Markdown
Contributor

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 54c81fef-21fa-4a15-bb55-4757900dfd8e

📥 Commits

Reviewing files that changed from the base of the PR and between 7443e22 and a9a66bf.

📒 Files selected for processing (1)
  • packages/system/linstor-gui/Makefile

📝 Walkthrough

Walkthrough

The main build target was updated to invoke the linstor-gui image build, and the linstor-gui Makefile was changed to use a shared $(BUILDX_ARGS) variable for buildx configuration instead of inline buildx flags.

Changes

Cohort / File(s) Summary
Top-level Build Target
Makefile
Added make -C packages/system/linstor-gui image to the build target to include the linstor-gui container image in the standard build sequence.
linstor-gui Image Build
packages/system/linstor-gui/Makefile
Replaced explicit buildx flags with a shared $(BUILDX_ARGS) variable for buildx configuration; other build args and post-build metadata updates unchanged.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐰 I nudge the Makefile, hop and sew a seam,
A shared build arg, and one more target in the stream,
Linstor‑gui joins the dance, light on its feet,
Tiny tweak, steady rhythm, the pipeline keeps its beat. 🥕

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and specifically describes the main change: adding linstor-gui to the root image build target, which directly addresses the core issue that linstor-gui was not being built/published by CI.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/linstor-gui-image-build

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.

@dosubot dosubot Bot added area/build Issues or PRs related to image build infrastructure, multi-arch support kind/bug Categorizes issue or PR as related to a bug labels Apr 27, 2026
@dosubot dosubot Bot added the lgtm This PR has been approved by a maintainer label Apr 27, 2026
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>
@myasnikovdaniil
myasnikovdaniil force-pushed the fix/linstor-gui-image-build branch from 9bae153 to 7443e22 Compare April 27, 2026 12:24

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

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.

Comment thread Makefile
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

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

low

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
  1. PR body must contain a release note block following the format: type(scope): human-readable changelog entry. (link)

@myasnikovdaniil myasnikovdaniil changed the title build: include linstor-gui in root image build target build(linstor): include linstor-gui in root image build target Apr 27, 2026
@github-actions github-actions Bot added the area/storage Issues or PRs related to storage (linstor, seaweedfs, bucket, velero, harbor) label Apr 27, 2026
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>

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

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.

@myasnikovdaniil myasnikovdaniil added the backport Should change be backported on previous release label Apr 28, 2026
@lexfrei
Aleksei Sviridkin (lexfrei) merged commit 036eb98 into main Apr 28, 2026
17 of 19 checks passed
@lexfrei
Aleksei Sviridkin (lexfrei) deleted the fix/linstor-gui-image-build branch April 28, 2026 10:55
@github-actions

Copy link
Copy Markdown

Successfully created backport PR for release-1.3:

myasnikovdaniil added a commit that referenced this pull request Apr 28, 2026
…age build target (#2518)

# Description
Backport of #2498 to `release-1.3`.
myasnikovdaniil added a commit that referenced this pull request Apr 29, 2026
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/build Issues or PRs related to image build infrastructure, multi-arch support area/storage Issues or PRs related to storage (linstor, seaweedfs, bucket, velero, harbor) area/uncategorized PR auto-labeler could not map title scope to a known area/*; please review backport Should change be backported on previous release kind/bug Categorizes issue or PR as related to a bug lgtm This PR has been approved by a maintainer size/XS This PR changes 0-9 lines, ignoring generated files

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants