Multi-arch SRPM builder#159
Conversation
WalkthroughAdds SRPM build support: new Makefile variables/target for srpm, a Containerfile to produce SRPMs, and script updates for architecture-aware OKD image resolution, caching, and per-target version output. (≤50 words) Changes
Sequence DiagramsequenceDiagram
actor User
participant Makefile
participant Builder as "Container (packaging/srpm.Containerfile)"
participant Ext as "External (oc / registry / HTTP)"
participant Scripts as "Build scripts\n(prebuild.sh, modify-spec.py,\nbuild-rpms.sh)"
participant Output as "Artifacts (/output)"
User->>Makefile: make srpm
Makefile->>Builder: build/run image with args (SRPM_IMAGE, OKD_RELEASE_IMAGE_*)
Builder->>Ext: detect arch & download appropriate oc client
Builder->>Ext: clone microshift repo
Builder->>Scripts: run prebuild.sh
Scripts->>Ext: fetch or read RELEASE_IMAGE_CACHE (oc adm release info)
Scripts->>Scripts: resolve images (arch-specific) via cache/jq
Scripts->>Scripts: replace assets/specs (arch-prefixed logs)
Builder->>Scripts: run modify-spec.py
Builder->>Scripts: run build-rpms.sh
Scripts->>Output: produce SRPMs and write per-target version.txt
Output->>User: SRPM artifacts ready
Estimated code review effort🎯 4 (Complex) | ⏱️ ~40 minutes
Possibly related PRs
Suggested reviewers
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro 📒 Files selected for processing (5)
🚧 Files skipped from review as they are similar to previous changes (2)
🧰 Additional context used🧠 Learnings (5)📚 Learning: 2025-10-17T10:53:08.461ZApplied to files:
📚 Learning: 2025-10-17T10:31:57.408ZApplied to files:
📚 Learning: 2025-11-26T06:46:33.353ZApplied to files:
📚 Learning: 2025-10-17T07:44:32.742ZApplied to files:
📚 Learning: 2025-12-04T13:35:05.230ZApplied to files:
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (11)
🔇 Additional comments (13)
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 |
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (3)
src/image/prebuild.sh (1)
8-8: Temp file not explicitly cleaned up.
RELEASE_IMAGE_CACHEis created but never removed. For long-running systems or repeated manual invocations, consider adding cleanup viatrap:RELEASE_IMAGE_CACHE=$(mktemp "/tmp/release-image-cache-${ARCH}.XXXXX.json") +trap 'rm -f "${RELEASE_IMAGE_CACHE}"' EXITMakefile (1)
83-96: Consider consistent variable naming.The
rpmtarget usesRPM_OUTDIRwhilesrpmusesSRPM_WORKDIR. For consistency, considerSRPM_OUTDIR:- outdir="$${SRPM_WORKDIR:-$$(mktemp -d /tmp/microshift-srpms-XXXXXX)}" && \ + outdir="$${SRPM_OUTDIR:-$$(mktemp -d /tmp/microshift-srpms-XXXXXX)}" && \packaging/srpm.Containerfile (1)
75-76: Ensure /output exists before copy.If the Containerfile is run without the volume mount,
/outputwon't exist. Add a safety mkdir:+RUN mkdir -p /output RUN "${USHIFT_BUILDRPMS_SCRIPT}" srpm && \ cp ./_output/rpmbuild/SRPMS/* /output/Alternatively, combine into the final RUN to keep layers minimal.
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (5)
Makefile(2 hunks)packaging/srpm.Containerfile(1 hunks)src/image/build-rpms.sh(1 hunks)src/image/modify-spec.py(1 hunks)src/image/prebuild.sh(5 hunks)
🧰 Additional context used
🧠 Learnings (6)
📓 Common learnings
Learnt from: pmtk
Repo: microshift-io/microshift PR: 151
File: docs/workflows.md:74-76
Timestamp: 2025-12-04T13:35:05.230Z
Learning: The COPR group microshift-io/microshift exists at https://copr.fedorainfracloud.org/coprs/g/microshift-io/microshift/ and is used for publishing MicroShift RPM packages in the microshift-io/microshift repository.
Learnt from: ggiguash
Repo: microshift-io/microshift PR: 57
File: .github/workflows/builders.yaml:75-84
Timestamp: 2025-10-17T10:53:08.461Z
Learning: In the microshift repository, the RPM-to-Debian conversion workflow follows this pattern: `convert.sh` receives an RPM directory as input and outputs .deb files to a `deb/` subdirectory within that directory. The `install.sh` script expects to receive the parent RPM directory (not the deb subdirectory) and uses recursive `find` commands to locate the .deb files in subdirectories.
Learnt from: ggiguash
Repo: microshift-io/microshift PR: 137
File: src/quickrpm.sh:83-98
Timestamp: 2025-11-26T06:46:33.353Z
Learning: In the microshift-io/microshift repository, the quickrpm.sh script only supports RHEL 9 or above (and equivalent CentOS/Fedora versions), where util-linux includes the `--nooverlap` flag for losetup.
Learnt from: ggiguash
Repo: microshift-io/microshift PR: 92
File: .github/workflows/release.yaml:44-50
Timestamp: 2025-10-17T07:44:32.742Z
Learning: When Podman builds an image without a registry prefix (e.g., `podman build -t microshift-okd`), it automatically adds the `localhost/` prefix and `:latest` tag, resulting in `localhost/microshift-okd:latest`. This means the Makefile in microshift-io/microshift building with `-t microshift-okd` produces `localhost/microshift-okd:latest` without explicit retagging.
📚 Learning: 2025-12-04T13:35:05.230Z
Learnt from: pmtk
Repo: microshift-io/microshift PR: 151
File: docs/workflows.md:74-76
Timestamp: 2025-12-04T13:35:05.230Z
Learning: The COPR group microshift-io/microshift exists at https://copr.fedorainfracloud.org/coprs/g/microshift-io/microshift/ and is used for publishing MicroShift RPM packages in the microshift-io/microshift repository.
Applied to files:
packaging/srpm.ContainerfileMakefile
📚 Learning: 2025-10-17T07:44:32.742Z
Learnt from: ggiguash
Repo: microshift-io/microshift PR: 92
File: .github/workflows/release.yaml:44-50
Timestamp: 2025-10-17T07:44:32.742Z
Learning: When Podman builds an image without a registry prefix (e.g., `podman build -t microshift-okd`), it automatically adds the `localhost/` prefix and `:latest` tag, resulting in `localhost/microshift-okd:latest`. This means the Makefile in microshift-io/microshift building with `-t microshift-okd` produces `localhost/microshift-okd:latest` without explicit retagging.
Applied to files:
packaging/srpm.Containerfilesrc/image/prebuild.shMakefile
📚 Learning: 2025-10-17T10:53:08.461Z
Learnt from: ggiguash
Repo: microshift-io/microshift PR: 57
File: .github/workflows/builders.yaml:75-84
Timestamp: 2025-10-17T10:53:08.461Z
Learning: In the microshift repository, the RPM-to-Debian conversion workflow follows this pattern: `convert.sh` receives an RPM directory as input and outputs .deb files to a `deb/` subdirectory within that directory. The `install.sh` script expects to receive the parent RPM directory (not the deb subdirectory) and uses recursive `find` commands to locate the .deb files in subdirectories.
Applied to files:
packaging/srpm.Containerfilesrc/image/modify-spec.pysrc/image/build-rpms.shMakefile
📚 Learning: 2025-11-26T06:46:33.353Z
Learnt from: ggiguash
Repo: microshift-io/microshift PR: 137
File: src/quickrpm.sh:83-98
Timestamp: 2025-11-26T06:46:33.353Z
Learning: In the microshift-io/microshift repository, the quickrpm.sh script only supports RHEL 9 or above (and equivalent CentOS/Fedora versions), where util-linux includes the `--nooverlap` flag for losetup.
Applied to files:
packaging/srpm.Containerfilesrc/image/modify-spec.pysrc/image/build-rpms.shMakefile
📚 Learning: 2025-10-17T10:31:57.408Z
Learnt from: ggiguash
Repo: microshift-io/microshift PR: 57
File: src/debian/install.sh:12-0
Timestamp: 2025-10-17T10:31:57.408Z
Learning: In the MicroShift project, the Ubuntu version in src/debian/install.sh is intentionally hardcoded to "xUbuntu_20.04" because CRI-O builds are not available for all the latest Ubuntu versions. This should not be changed to dynamic detection.
Applied to files:
src/image/build-rpms.sh
🪛 checkmake (0.2.2)
Makefile
[warning] 43-43: Target body for "all" exceeds allowed length of 5 (18).
(maxbodylength)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (11)
- GitHub Check: isolated-network (ovnk, ubuntu-24.04, 1)
- GitHub Check: isolated-network (kindnet, ubuntu-24.04, 0)
- GitHub Check: ubuntu-rpm2deb
- GitHub Check: fedora-bootc (ubuntu-24.04-arm)
- GitHub Check: centos9-bootc
- GitHub Check: fedora-bootc (ubuntu-24.04)
- GitHub Check: centos10-bootc
- GitHub Check: quick-start-and-clean (ubuntu-24.04-arm)
- GitHub Check: quick-rpm-and-clean (ubuntu-24.04)
- GitHub Check: quick-rpm-and-clean (ubuntu-24.04-arm)
- GitHub Check: quick-start-and-clean (ubuntu-24.04)
🔇 Additional comments (7)
src/image/modify-spec.py (1)
1-1: LGTM!Explicit
python3shebang is correct and aligns with thepython3-specfiledependency in the Containerfile.src/image/build-rpms.sh (1)
74-82: LGTM!Per-target version logging keeps RPM and SRPM artifacts self-describing. When
allis specified, both version files are correctly written.src/image/prebuild.sh (2)
20-29: LGTM!Cache-based resolution avoids repeated
oc adm release infocalls. The-scheck correctly handles both missing and empty cache files.
58-58: LGTM!Architecture-prefixed logging aids debugging multi-arch builds.
Makefile (1)
25-31: LGTM!Architecture-specific release image variables with proper defaults and override support.
packaging/srpm.Containerfile (2)
1-7: LGTM!Fedora 42 with minimal dependencies for SRPM building.
--setopt=install_weak_deps=Falsekeeps the image lean.
35-41: LGTM!Architecture detection for
occlient download handles both x86_64 and aarch64 correctly.
There was a problem hiding this comment.
Actionable comments posted: 0
🧹 Nitpick comments (2)
Makefile (1)
35-37: Expose SRPM_WORKDIR and clean up SRPM image for symmetryThe
srpmworkflow looks good; a couple of small polish items:
SRPM_WORKDIRis only mentioned inside the recipe; consider declaring it alongsideRPM_OUTDIRso it’s discoverable as a user-tunable variable.clean-allcurrently removes${USHIFT_IMAGE}and${BUILDER_IMAGE}but not${SRPM_IMAGE}; adding it would keep image cleanup symmetric.Example patch:
@@ USHIFT_GITREF ?= main OKD_VERSION_TAG ?= $$(./src/okd/get_version.sh latest) RPM_OUTDIR ?= +SRPM_WORKDIR ?= @@ clean-all: @echo "Performing a full cleanup" $(MAKE) clean sudo podman rmi -f "${USHIFT_IMAGE}" || true sudo podman rmi -f "${BUILDER_IMAGE}" || true + sudo podman rmi -f "${SRPM_IMAGE}" || trueAlso applies to: 83-95, 175-180
packaging/srpm.Containerfile (1)
13-17: Confirm intended MicroShift source repositoryThe container clones from:
ARG USHIFT_GIT_URL=https://github.com/openshift/microshift.gitRUN git clone --branch "${USHIFT_GITREF}" --single-branch "${USHIFT_GIT_URL}" "${HOME}/microshift"Given this repo lives under
microshift-io/microshift, please confirm that building SRPMs from the upstreamopenshift/microshiftrepository (instead of themicroshift-iofork) is intentional for this workflow. If not, we should either change the default URL or wireUSHIFT_GIT_URLthrough the Makefile so it can be overridden.Also applies to: 41-42
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (5)
Makefile(3 hunks)packaging/srpm.Containerfile(1 hunks)src/image/build-rpms.sh(1 hunks)src/image/modify-spec.py(1 hunks)src/image/prebuild.sh(5 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
- src/image/modify-spec.py
🧰 Additional context used
🧠 Learnings (5)
📚 Learning: 2025-10-17T07:44:32.742Z
Learnt from: ggiguash
Repo: microshift-io/microshift PR: 92
File: .github/workflows/release.yaml:44-50
Timestamp: 2025-10-17T07:44:32.742Z
Learning: When Podman builds an image without a registry prefix (e.g., `podman build -t microshift-okd`), it automatically adds the `localhost/` prefix and `:latest` tag, resulting in `localhost/microshift-okd:latest`. This means the Makefile in microshift-io/microshift building with `-t microshift-okd` produces `localhost/microshift-okd:latest` without explicit retagging.
Applied to files:
Makefilesrc/image/prebuild.shpackaging/srpm.Containerfile
📚 Learning: 2025-11-26T06:46:33.353Z
Learnt from: ggiguash
Repo: microshift-io/microshift PR: 137
File: src/quickrpm.sh:83-98
Timestamp: 2025-11-26T06:46:33.353Z
Learning: In the microshift-io/microshift repository, the quickrpm.sh script only supports RHEL 9 or above (and equivalent CentOS/Fedora versions), where util-linux includes the `--nooverlap` flag for losetup.
Applied to files:
Makefilesrc/image/build-rpms.shpackaging/srpm.Containerfile
📚 Learning: 2025-10-17T10:53:08.461Z
Learnt from: ggiguash
Repo: microshift-io/microshift PR: 57
File: .github/workflows/builders.yaml:75-84
Timestamp: 2025-10-17T10:53:08.461Z
Learning: In the microshift repository, the RPM-to-Debian conversion workflow follows this pattern: `convert.sh` receives an RPM directory as input and outputs .deb files to a `deb/` subdirectory within that directory. The `install.sh` script expects to receive the parent RPM directory (not the deb subdirectory) and uses recursive `find` commands to locate the .deb files in subdirectories.
Applied to files:
Makefilesrc/image/build-rpms.shpackaging/srpm.Containerfile
📚 Learning: 2025-12-04T13:35:05.230Z
Learnt from: pmtk
Repo: microshift-io/microshift PR: 151
File: docs/workflows.md:74-76
Timestamp: 2025-12-04T13:35:05.230Z
Learning: The COPR group microshift-io/microshift exists at https://copr.fedorainfracloud.org/coprs/g/microshift-io/microshift/ and is used for publishing MicroShift RPM packages in the microshift-io/microshift repository.
Applied to files:
Makefilesrc/image/build-rpms.shpackaging/srpm.Containerfile
📚 Learning: 2025-10-17T10:31:57.408Z
Learnt from: ggiguash
Repo: microshift-io/microshift PR: 57
File: src/debian/install.sh:12-0
Timestamp: 2025-10-17T10:31:57.408Z
Learning: In the MicroShift project, the Ubuntu version in src/debian/install.sh is intentionally hardcoded to "xUbuntu_20.04" because CRI-O builds are not available for all the latest Ubuntu versions. This should not be changed to dynamic detection.
Applied to files:
src/image/build-rpms.sh
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (9)
- GitHub Check: isolated-network (ovnk, ubuntu-24.04, 1)
- GitHub Check: centos9-bootc
- GitHub Check: isolated-network (kindnet, ubuntu-24.04, 0)
- GitHub Check: fedora-bootc (ubuntu-24.04-arm)
- GitHub Check: fedora-bootc (ubuntu-24.04)
- GitHub Check: quick-rpm-and-clean (ubuntu-24.04)
- GitHub Check: quick-start-and-clean (ubuntu-24.04-arm)
- GitHub Check: quick-rpm-and-clean (ubuntu-24.04-arm)
- GitHub Check: quick-start-and-clean (ubuntu-24.04)
🔇 Additional comments (4)
src/image/build-rpms.sh (1)
74-82: Per-target version.txt placement looks correctWriting
MICROSHIFT_VERSIONinto separateRPMS/version.txtandSRPMS/version.txtright after each build aligns with_output/rpmbuildlayout and the SRPM container’s/outputcopy step. No issues from a correctness perspective.Makefile (1)
25-31: Arch-specific OKD release image wiring is soundDeriving
OKD_RELEASE_IMAGEfromOKD_RELEASE_IMAGE_X86_64/OKD_RELEASE_IMAGE_AARCH64based onARCHkeeps per-arch defaults clear while still allowing overrides via?=. This should behave well for both local and CI use.packaging/srpm.Containerfile (1)
24-37: End-to-end SRPM build flow looks consistentThe OKD client download, OKD_VERSION_TAG validation, prebuild integration, and final
build-rpms.sh srpm && cp ... /output/pipeline are wired together coherently and match the Makefile’ssrpmtarget expectations (volume mount to/output). No functional issues spotted here.Also applies to: 70-72
src/image/prebuild.sh (1)
5-10: Caching + ARCH-scoped logging improvements look good
- Allowing
ARCH="${ARCH:-$(uname -m)}"and creating a per-archRELEASE_IMAGE_CACHEwith an EXIT trap cleans up temp files and makes scripted multi-arch calls (like in the SRPM container) robust.- The new
oc_release_infoJSON cache and jq lookup correctly avoid repeatedoc adm release infocalls within one run.[${ARCH}] ...logging on replacements inreplace_base_assets,replace_olm_assets, andreplace_kindnet_assetsis a nice touch for debugging multi-arch flows.No changes requested here.
Also applies to: 21-25, 59-60, 103-104, 152-153
There was a problem hiding this comment.
Actionable comments posted: 0
🧹 Nitpick comments (3)
src/image/prebuild.sh (1)
5-9: Release info caching and arch‑prefixed logging look goodThe per‑run JSON cache and EXIT trap around
RELEASE_IMAGE_CACHEare a solid way to avoid repeatedoc adm release infocalls, and the[${ARCH}]prefixes on replacement logs should help a lot when doing multi‑arch runs.If you ever end up using
oc_release_infowithout the 3rd argument in some flows, a tiny optional tweak would be to lazily createRELEASE_IMAGE_CACHEinside theimagebranch so pure--verifycalls don’t create an unused temp file, but that’s purely a micro‑optimization.Also applies to: 21-25, 59-59, 103-103, 152-152
Makefile (1)
25-31: Multi‑arch OKD release wiring andsrpmtarget look consistent; consider cleaning SRPM imageThe arch‑specific
OKD_RELEASE_IMAGE_{X86_64,AARCH64}and the override ofOKD_RELEASE_IMAGEbased onARCHline up with how both therpmandsrpmtargets pass build args into their Containerfiles. The newsrpmtarget and help text are straightforward and match the packaging flow.Optional: to avoid leaving the SRPM build image around after
make clean-all, you could also remove${SRPM_IMAGE}there:clean-all: @echo "Performing a full cleanup" $(MAKE) clean sudo podman rmi -f "${USHIFT_IMAGE}" || true sudo podman rmi -f "${BUILDER_IMAGE}" || true + sudo podman rmi -f "${SRPM_IMAGE}" || trueAlso applies to: 35-35, 44-47, 83-95, 175-181
packaging/srpm.Containerfile (1)
13-23: SRPM build flow looks solid; consider howUSHIFT_GIT_URLshould be overriddenCloning from
${USHIFT_GIT_URL}atUSHIFT_GITREF, then overlaying local kindnet/topolvm assets, runningprebuild.shfor both arches, modifying the spec, and finally invokingbuild-rpms.sh srpmbefore copyingSRPMS/*to/outputall hangs together well.If there’s any need to build SRPMs from this downstream repo (or a fork) rather than always from
https://github.com/openshift/microshift.git, you might want to exposeUSHIFT_GIT_URLvia the Makefile (e.g., aUSHIFT_GIT_URL ?=variable passed as a--build-argtopodman build). If upstream is always the intended source, the current default is fine as is.Also applies to: 41-47, 61-72
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (5)
Makefile(3 hunks)packaging/srpm.Containerfile(1 hunks)src/image/build-rpms.sh(1 hunks)src/image/modify-spec.py(1 hunks)src/image/prebuild.sh(5 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
- src/image/modify-spec.py
🧰 Additional context used
🧠 Learnings (5)
📚 Learning: 2025-10-17T07:44:32.742Z
Learnt from: ggiguash
Repo: microshift-io/microshift PR: 92
File: .github/workflows/release.yaml:44-50
Timestamp: 2025-10-17T07:44:32.742Z
Learning: When Podman builds an image without a registry prefix (e.g., `podman build -t microshift-okd`), it automatically adds the `localhost/` prefix and `:latest` tag, resulting in `localhost/microshift-okd:latest`. This means the Makefile in microshift-io/microshift building with `-t microshift-okd` produces `localhost/microshift-okd:latest` without explicit retagging.
Applied to files:
Makefilepackaging/srpm.Containerfilesrc/image/prebuild.sh
📚 Learning: 2025-11-26T06:46:33.353Z
Learnt from: ggiguash
Repo: microshift-io/microshift PR: 137
File: src/quickrpm.sh:83-98
Timestamp: 2025-11-26T06:46:33.353Z
Learning: In the microshift-io/microshift repository, the quickrpm.sh script only supports RHEL 9 or above (and equivalent CentOS/Fedora versions), where util-linux includes the `--nooverlap` flag for losetup.
Applied to files:
Makefilepackaging/srpm.Containerfilesrc/image/build-rpms.sh
📚 Learning: 2025-10-17T10:53:08.461Z
Learnt from: ggiguash
Repo: microshift-io/microshift PR: 57
File: .github/workflows/builders.yaml:75-84
Timestamp: 2025-10-17T10:53:08.461Z
Learning: In the microshift repository, the RPM-to-Debian conversion workflow follows this pattern: `convert.sh` receives an RPM directory as input and outputs .deb files to a `deb/` subdirectory within that directory. The `install.sh` script expects to receive the parent RPM directory (not the deb subdirectory) and uses recursive `find` commands to locate the .deb files in subdirectories.
Applied to files:
Makefilepackaging/srpm.Containerfilesrc/image/build-rpms.sh
📚 Learning: 2025-12-04T13:35:05.230Z
Learnt from: pmtk
Repo: microshift-io/microshift PR: 151
File: docs/workflows.md:74-76
Timestamp: 2025-12-04T13:35:05.230Z
Learning: The COPR group microshift-io/microshift exists at https://copr.fedorainfracloud.org/coprs/g/microshift-io/microshift/ and is used for publishing MicroShift RPM packages in the microshift-io/microshift repository.
Applied to files:
Makefilepackaging/srpm.Containerfile
📚 Learning: 2025-10-17T10:31:57.408Z
Learnt from: ggiguash
Repo: microshift-io/microshift PR: 57
File: src/debian/install.sh:12-0
Timestamp: 2025-10-17T10:31:57.408Z
Learning: In the MicroShift project, the Ubuntu version in src/debian/install.sh is intentionally hardcoded to "xUbuntu_20.04" because CRI-O builds are not available for all the latest Ubuntu versions. This should not be changed to dynamic detection.
Applied to files:
src/image/build-rpms.sh
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (11)
- GitHub Check: quick-rpm-and-clean (ubuntu-24.04-arm)
- GitHub Check: quick-rpm-and-clean (ubuntu-24.04)
- GitHub Check: quick-start-and-clean (ubuntu-24.04-arm)
- GitHub Check: quick-start-and-clean (ubuntu-24.04)
- GitHub Check: isolated-network (kindnet, ubuntu-24.04, 0)
- GitHub Check: isolated-network (ovnk, ubuntu-24.04, 1)
- GitHub Check: fedora-bootc (ubuntu-24.04-arm)
- GitHub Check: ubuntu-rpm2deb
- GitHub Check: fedora-bootc (ubuntu-24.04)
- GitHub Check: centos10-bootc
- GitHub Check: centos9-bootc
🔇 Additional comments (2)
packaging/srpm.Containerfile (1)
31-37: Arch‑aware OKD client download is correctly wiredThe uname‑based
ARCHsuffix combined with theopenshift-client-linux${ARCH}-${OKD_VERSION_TAG}.tar.gzURL andcurl -L --retry 5gives you the rightocbinary on both x86_64 and aarch64 with reasonable robustness against transient failures. No changes needed here.src/image/build-rpms.sh (1)
76-76: Verify downstream tooling expectations forversion.txtpathsThe per-target writes to
_output/rpmbuild/RPMS/version.txtand_output/rpmbuild/SRPMS/version.txtare consistent with separate build outputs. Confirm that any tooling consumingversion.txtdoes not have hardcoded path expectations specific to theRPMSdirectory, especially for SRPM-only builds.
Part of #71
Summary by CodeRabbit
New Features
Chores
✏️ Tip: You can customize this high-level summary in your review settings.