Skip to content

chore: remove dapper#4

Merged
derekbit merged 1 commit into
longhorn:mainfrom
derekbit:remove-dapper
Apr 14, 2026
Merged

chore: remove dapper#4
derekbit merged 1 commit into
longhorn:mainfrom
derekbit:remove-dapper

Conversation

@derekbit

@derekbit derekbit commented Apr 14, 2026

Copy link
Copy Markdown
Member

Summary by CodeRabbit

  • Chores
    • Removed build-wrapper infrastructure; build workflows now use direct script invocation
    • Added explicit make ci and make package targets for running CI and packaging workflows
    • Simplified build dependency management in container images

Signed-off-by: Derek Su <derek.su@suse.com>
@coderabbitai

coderabbitai Bot commented Apr 14, 2026

Copy link
Copy Markdown
📝 Walkthrough

Walkthrough

This pull request removes the Dapper-based containerized build system entirely. The Dockerfile.dapper and scripts/entry entry point are deleted, the .gitignore no longer excludes Dapper artifacts, the Makefile is refactored to invoke bash scripts directly instead of delegating through Dapper, and package/Dockerfile is simplified by removing explicit repository configuration.

Changes

Cohort / File(s) Summary
Dapper Build Infrastructure Removal
.gitignore, Dockerfile.dapper, scripts/entry
Deleted Dockerfile.dapper (SUSE-based Go toolchain image setup), removed scripts/entry (Dapper entrypoint wrapper), and removed .dapper ignore pattern from .gitignore.
Build Target Refactoring
Makefile
Removed dynamic $(TARGETS) discovery and .dapper bootstrap rule. Added explicit .PHONY declarations for ci, package, buildx-machine, workflow-image-build-push, and workflow-image-build-push-secure. Introduced direct ci and package targets invoking bash scripts without Dapper intermediation.
Build Dependency Consolidation
package/Dockerfile
Removed explicit zypper addrepo commands for snappy and devel:tools:building repositories. Consolidated package installation into a single zypper -n install command with reorganized dependency list.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~22 minutes

Poem

🐰 Out hops Dapper, no more its dance,
Direct bash scripts now take their chance,
No Docker layers to bootstrap with care,
The build runs swift through mountain air! ✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'chore: remove dapper' clearly and directly summarizes the main change: removing Dapper infrastructure (.gitignore pattern, Dockerfile.dapper, scripts/entry, and Makefile updates).
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (1)
Makefile (1)

11-11: Add standard phony aliases or suppress checkmake minphony.

Line 11 still triggers checkmake warnings for missing all, clean, and test. Adding lightweight aliases will keep CI/lint output clean.

Suggested patch
-.PHONY: ci package buildx-machine workflow-image-build-push workflow-image-build-push-secure
+.PHONY: all clean test ci package buildx-machine workflow-image-build-push workflow-image-build-push-secure
+
+all: ci
+
+test: ci
+
+clean:
+	`@echo` "No generated artifacts to clean"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@Makefile` at line 11, The Makefile's .PHONY declaration (line listing ci
package buildx-machine workflow-image-build-push
workflow-image-build-push-secure) is triggering checkmake warnings about missing
standard phony targets; add lightweight aliases for the missing common targets
by including them in the .PHONY list (e.g., all, clean, test) and create no-op
or simple passthrough targets named all, clean, and test so checkmake/minphony
is satisfied while keeping behavior unchanged and CI/lint output clean.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@package/Dockerfile`:
- Around line 15-19: The RUN step installs gcc14/gcc14-c++ and Mesa-libGL-devel
which are not in the default BCI 15.7 repos; either enable the SUSE Package Hub
before installing or switch to available compilers. Update the Dockerfile so
that before the zypper install in the RUN that contains gcc14 and gcc14-c++, you
add a step to enable Package Hub (e.g. call SUSEConnect -p
PackageHub/15.7/<arch> or equivalent) and refresh repos, or replace
gcc14/gcc14-c++ with the distro-provided compiler packages (e.g. gcc/gcc-c++)
and verify Mesa-libGL-devel is available or configured via the appropriate
module; ensure the RUN that installs libcurl-devel, libjson-c-devel,
Mesa-libGL-devel, gcc/gcc-c++ (or enabled Package Hub) is consistent so zypper
install succeeds.

---

Nitpick comments:
In `@Makefile`:
- Line 11: The Makefile's .PHONY declaration (line listing ci package
buildx-machine workflow-image-build-push workflow-image-build-push-secure) is
triggering checkmake warnings about missing standard phony targets; add
lightweight aliases for the missing common targets by including them in the
.PHONY list (e.g., all, clean, test) and create no-op or simple passthrough
targets named all, clean, and test so checkmake/minphony is satisfied while
keeping behavior unchanged and CI/lint output clean.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 2a04462a-3e5f-4767-843d-b0b2240f64b9

📥 Commits

Reviewing files that changed from the base of the PR and between 67b7aa2 and ac5ca0f.

📒 Files selected for processing (5)
  • .gitignore
  • Dockerfile.dapper
  • Makefile
  • package/Dockerfile
  • scripts/entry
💤 Files with no reviewable changes (3)
  • .gitignore
  • scripts/entry
  • Dockerfile.dapper

Comment thread package/Dockerfile
Comment on lines +15 to +19
RUN zypper -n install autoconf bison cmake curl doxygen flex gcc14 gcc14-c++ git make tar gzip jq \
libcurl-devel libjson-c-devel libacl-devel lsb-release \
libdbus-1-3 liburcu-devel libblkid-devel e2fsprogs e2fsprogs-devel xfsprogs xfsprogs-devel \
dbus-1-devel Mesa-libGL-devel nfsidmap-devel \
graphviz-devel libnsl-devel && \

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🌐 Web query:

For SUSE BCI Base 15.7 (SLE 15), are these packages available from the default enabled repositories without adding extra repos: gcc14, gcc14-c++, doxygen, jq, libcurl-devel, libjson-c-devel, libacl-devel, liburcu-devel, libblkid-devel, e2fsprogs-devel, xfsprogs-devel, dbus-1-devel, Mesa-libGL-devel, nfsidmap-devel, graphviz-devel, libnsl-devel? If not, which additional repositories are required?

💡 Result:

No, not all packages are available from the default enabled repositories (SLE_BCI repo) in SUSE BCI Base 15.7 (SLE 15 SP7). Most standard devel packages and tools like doxygen, jq, libcurl-devel, libjson-c-devel, libacl-devel, liburcu-devel, libblkid-devel, e2fsprogs-devel, xfsprogs-devel, dbus-1-devel, nfsidmap-devel, graphviz-devel, libnsl-devel are likely available from SLE_BCI or base SLE repos (accessible via container-suseconnect with subscription), as they are core system/development libraries present in SLE 15 SP7 core modules (e.g., Basesystem, Server Applications, Development Tools). However, gcc14 and gcc14-c++ are NOT available in the default SLE_BCI repository; they require enabling the SUSE Package Hub repository (free extension, enabled via SUSEConnect -p PackageHub/15.7/arch after registration) or Development Tools module updates. A separate BCI gcc:15 image exists but is not the base image. Mesa-libGL-devel may require additional modules like Desktop Applications.

Citations:


gcc14 and gcc14-c++ require SUSE Package Hub, which is not enabled by default.

Lines 15-19 install gcc14 and gcc14-c++, but these packages are not available in the default SUSE BCI Base 15.7 repositories. They require enabling the SUSE Package Hub (free extension via SUSEConnect -p PackageHub/15.7/arch). Without it, the build will fail at this zypper install step. Additionally, Mesa-libGL-devel may require extra module configuration. Since this stage no longer adds the necessary repos, explicitly enable Package Hub or use an alternative compiler.

🧰 Tools
🪛 Trivy (0.69.3)

[error] 15-20: 'zypper clean' missing

'zypper clean' is missed: 'zypper -n install autoconf bison cmake curl doxygen flex gcc14 gcc14-c++ git make tar gzip jq libcurl-devel libjson-c-devel libacl-devel lsb-release libdbus-1-3 liburcu-devel libblkid-devel e2fsprogs e2fsprogs-devel xfsprogs xfsprogs-devel dbus-1-devel Mesa-libGL-devel nfsidmap-devel graphviz-devel libnsl-devel && rm -rf /var/cache/zypp/*'

Rule: DS-0020

Learn more

(IaC/Dockerfile)

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@package/Dockerfile` around lines 15 - 19, The RUN step installs
gcc14/gcc14-c++ and Mesa-libGL-devel which are not in the default BCI 15.7
repos; either enable the SUSE Package Hub before installing or switch to
available compilers. Update the Dockerfile so that before the zypper install in
the RUN that contains gcc14 and gcc14-c++, you add a step to enable Package Hub
(e.g. call SUSEConnect -p PackageHub/15.7/<arch> or equivalent) and refresh
repos, or replace gcc14/gcc14-c++ with the distro-provided compiler packages
(e.g. gcc/gcc-c++) and verify Mesa-libGL-devel is available or configured via
the appropriate module; ensure the RUN that installs libcurl-devel,
libjson-c-devel, Mesa-libGL-devel, gcc/gcc-c++ (or enabled Package Hub) is
consistent so zypper install succeeds.

@derekbit derekbit merged commit abfd213 into longhorn:main Apr 14, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants