fix(Dockerfile): install copr-cli via dnf for better dependency management#9421
fix(Dockerfile): install copr-cli via dnf for better dependency management#9421
Conversation
…ement Co-authored-by: Copilot <[email protected]>
Greptile SummarySwitches Confidence Score: 5/5Safe to merge — the fix correctly addresses the workflow failure with no new risks introduced. Single-file, one-line-of-logic change that replaces a fragile No files require special attention. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A["FROM fedora:45"] --> B["dnf update -y\ndnf install -y rpm-build rpmdevtools\npython3-pip git rust cargo gcc tar gzip\ndnf clean all"]
B --> C["dnf install -y copr-cli\ndnf clean all"]
C --> D["ENV PATH=/root/.local/bin:PATH"]
D --> E["curl https://mise.run | sh"]
E --> F["mise use -g cargo-binstall cargo:cargo-vendor"]
F --> G["rpmdev-setuptree"]
Reviews (2): Last reviewed commit: "add: "-y" argument and clean dnf" | Re-trigger Greptile |
There was a problem hiding this comment.
Code Review
This pull request updates the packaging/copr/Dockerfile to install copr-cli using the dnf package manager instead of pip3. Feedback suggests adding the -y flag to the dnf install command to prevent build failures in non-interactive environments and appending dnf clean all to optimize the final image size.
There was a problem hiding this comment.
Pull request overview
Updates the COPR build container image to install copr-cli via Fedora’s package manager to resolve missing Python dependencies (e.g., rich) seen in the publish-copr workflow.
Changes:
- Replaces
pip3 install copr-cliwith adnf install copr-clistep in the COPR Dockerfile.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <[email protected]>
### 🚀 Features - **(task)** add --name-only flag to mise tasks ls by @jdx in [#9435](#9435) ### 🐛 Bug Fixes - **(Dockerfile)** install copr-cli via dnf for better dependency management by @bestagi in [#9421](#9421) - **(aqua)** drop empty-releases fallback to tags by @jdx in [#9443](#9443) - **(docs)** fix theme flicker on docs by @vhespanha in [#9427](#9427) - **(lockfile)** update global lockfile on upgrade by @jdx in [#9442](#9442) - **(ls-remote)** omit rolling/prerelease from JSON when false by @jdx in [#9439](#9439) - **(task)** support usage refs in dependency template tags by @jdx in [#9424](#9424) - **(task)** populate usage.cmd for subcommand-only tasks; share make_usage_ctx by @jdx in [#9431](#9431) - **(task)** resolve sandbox allow_read/allow_write against task dir by @jdx in [#9428](#9428) ### 📚 Documentation - **(site)** add self-hosted page tracker via Cloudflare Worker, drop GoatCounter by @jdx in [#9430](#9430) ### New Contributors - @vhespanha made their first contribution in [#9427](#9427) --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
… changes The copr-publish workflow was pinned to a stale image digest (sha256:da63a0f...) that predated the fix in jdx#9421 which switched copr-cli installation from pip3 to dnf. As a result, every copr-publish run after the merge still used the old broken image and failed with: ModuleNotFoundError: No module named 'rich' Fixes: - Remove the pinned digest from copr-publish.yml so the mutable ghcr.io/jdx/mise:copr tag is used, always pulling the latest built image. - Add a push trigger to docker.yml scoped to packaging/copr/Dockerfile so the :copr image is automatically rebuilt (and tag updated) whenever the Dockerfile changes on main, preventing this class of stale-digest regression in the future.
… changes The copr-publish workflow was pinned to a stale image digest (sha256:da63a0f...) that predated the fix in jdx#9421 which switched copr-cli installation from pip3 to dnf. As a result, every copr-publish run after the merge still used the old broken image and failed with: ModuleNotFoundError: No module named 'rich' Fixes: - Remove the pinned digest from copr-publish.yml so the mutable ghcr.io/jdx/mise:copr tag is used, always pulling the latest built image. - Add a push trigger to docker.yml scoped to packaging/copr/Dockerfile so the :copr image is automatically rebuilt (and tag updated) whenever the Dockerfile changes on main, preventing this class of stale-digest regression in the future.
… changes The copr-publish workflow was pinned to a stale image digest (sha256:da63a0f...) that predated the fix in jdx#9421 which switched copr-cli installation from pip3 to dnf. As a result, every copr-publish run after the merge still used the old broken image and failed with: ModuleNotFoundError: No module named 'rich' Fixes: - Remove the pinned digest from copr-publish.yml so the mutable ghcr.io/jdx/mise:copr tag is used, always pulling the latest built image. - Add a push trigger to docker.yml scoped to packaging/copr/Dockerfile so the :copr image is automatically rebuilt (and tag updated) whenever the Dockerfile changes on main, preventing this class of stale-digest regression in the future.
fix publish-copr workflow error ModuleNotFoundError: No module named 'rich'
https://github.com/jdx/mise/actions/runs/24938182716/job/73027289974