fix(copr): increase build timeout#10071
Conversation
There was a problem hiding this comment.
Code Review
This pull request updates the packaging/copr/Dockerfile to install python3-rich alongside copr-cli and adds a sanity check using copr-cli --help. The reviewer suggested combining the separate RUN dnf commands into a single instruction to optimize the Docker image layers and avoid redundant package metadata downloads.
| RUN dnf install -y copr-cli python3-rich && \ | ||
| dnf clean all && \ | ||
| copr-cli --help >/dev/null |
There was a problem hiding this comment.
Efficiency & Maintainability
Combining the two separate RUN dnf install blocks into a single instruction would optimize the Docker image build.
Currently, the first RUN block (lines 5-16) ends with dnf clean all, which clears the package metadata cache. Consequently, the second RUN block (lines 19-21) must re-download the package metadata, which increases build time and adds an unnecessary layer to the image.
Consider combining all package installations into a single RUN instruction like this:
RUN dnf update -y && \
dnf install -y \
rpm-build \
rpmdevtools \
python3-pip \
git \
rust \
cargo \
gcc \
tar \
gzip \
copr-cli \
python3-rich && \
dnf clean all && \
copr-cli --help >/dev/null
Greptile SummaryThis PR fixes recurring COPR build timeouts (observed on
Confidence Score: 5/5Safe to merge — changes are scoped to CI packaging infrastructure, not runtime application logic. All three changes (timeout increase, openssl-devel addition, removal of the curl-pipe-shell installer) are well-motivated and validated by the author locally. The default timeout of 180000 seconds is precisely the Fedora COPR instance maximum, making the choice deliberate and correct. The new --timeout argument is properly quoted as a single array element, so there is no injection risk. No files require special attention. Important Files Changed
Reviews (6): Last reviewed commit: "chore(ci): remove main docker trigger" | Re-trigger Greptile |
|
Closing this as speculative after local validation on Fedora 45 showed the original failure does not reproduce with the currently pinned image. Validation found that This comment was generated by an AI coding assistant. |
|
Correction: keeping this PR open while we investigate the actual COPR failure. The Fedora 45 local test shows This comment was generated by an AI coding assistant. |
Hyperfine Performance
|
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
mise-2026.5.15 x -- echo |
18.8 ± 0.8 | 17.2 | 23.2 | 1.00 |
mise x -- echo |
19.1 ± 1.0 | 17.3 | 28.9 | 1.01 ± 0.07 |
mise env
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
mise-2026.5.15 env |
18.8 ± 0.9 | 17.0 | 23.3 | 1.00 ± 0.07 |
mise env |
18.7 ± 0.8 | 17.0 | 24.0 | 1.00 |
mise hook-env
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
mise-2026.5.15 hook-env |
19.7 ± 0.8 | 17.8 | 24.9 | 1.01 ± 0.06 |
mise hook-env |
19.5 ± 0.9 | 17.8 | 24.9 | 1.00 |
mise ls
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
mise-2026.5.15 ls |
16.3 ± 0.7 | 14.6 | 20.1 | 1.00 ± 0.06 |
mise ls |
16.2 ± 0.7 | 14.7 | 18.8 | 1.00 |
xtasks/test/perf
| Command | mise-2026.5.15 | mise | Variance |
|---|---|---|---|
| install (cached) | 134ms | 135ms | +0% |
| ls (cached) | 60ms | 63ms | -4% |
| bin-paths (cached) | 66ms | 67ms | -1% |
| task-ls (cached) | 126ms | 125ms | +0% |
|
Updated this PR based on the real failure log. The failing Actions job was not using the fresh Fedora RPM path your validation tested. It pulled stale COPR image digest So I removed the speculative
This matches the fresh Fedora 45 behavior: use the RPM-provided COPR CLI, and stop publishing stale/pip-shadowed COPR images. This comment was generated by an AI coding assistant. |
|
Updated again based on the validation findings:
This comment was generated by an AI coding assistant. |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 1f5ec09. Configure here.
|
Updated to target the current COPR failure rather than hiding it with Recent tag builds did rebuild The PR now passes This comment was generated by an AI coding assistant. |
|
Local Docker validation is now passing after one extra cleanup commit. What I found while testing:
I also updated the PR description with these results. This comment was generated by an AI coding assistant. |
|
Removed the leftover This comment was generated by an AI coding assistant. |

Summary
COPR_BUILD_TIMEOUT, defaulting to180000, and pass it through tocopr-cli build.copr-clipath andcopr-cli --help.cargo-vendorcrate; Fedora'scargoalready providescargo vendor.openssl-develto the COPR image build dependencies so the packaging environment matches the RPM spec and supports OpenSSL-linked Rust crates.Context
The old
ModuleNotFoundError: richfailure came from a stale COPR image using/usr/local/sbin/copr-cli. Current Fedora 45copr-clifrom dnf does not requirerich.The current COPR failure is build timeout: COPR build
10503441had 11 successful chroots andfedora-rawhide-aarch64failed with!! Copr timeout => sending INT. This PR fixes that by increasing the actual COPR builder timeout instead of using--nowait.Validation
git diff --checkdocker build --no-cache -t mise-copr-pr10071 -f packaging/copr/Dockerfile .on local Docker/OrbStack native arm64copr-cliresolves to/usr/bin/copr-cli,copr-cli --help >/dev/null,cargo --version,cargo vendor --help >/dev/null,rpmdev-setuptreeVERSION=2026.5.15 ./packaging/copr/build-copr.sh --dry-run, producingmise-2026.5.15-1.fc45.src.rpmNote: an attempted
linux/amd64build under local OrbStack emulation failed incurl https://mise.run | shwith tarFunction not implemented; the Dockerfile no longer runs that installer.Note
Low Risk
Packaging and CI infrastructure only; no runtime application, auth, or data-path changes.
Overview
Addresses COPR builds timing out (e.g.
fedora-rawhide-aarch64) by introducingCOPR_BUILD_TIMEOUT(default 180000) and forwarding it tocopr-cli build --timeout, with the value echoed in the build configuration log.The COPR packaging image drops the mise installer path used only to install
cargo-vendor(Fedoracargoalready providescargo vendor), addsopenssl-develto align with the RPM spec for OpenSSL-linked Rust builds, and smoke-tests thatcopr-cliresolves to/usr/bin/copr-cliand runs--helpsuccessfully after install.Reviewed by Cursor Bugbot for commit c8eea23. Bugbot is set up for automated code reviews on this repo. Configure here.