Skip to content

Update base image in Dockerfile from ubuntu:24.04 to ubuntu:25.04#10

Closed
johlju wants to merge 4 commits intomainfrom
f/use-ubuntu-minimal
Closed

Update base image in Dockerfile from ubuntu:24.04 to ubuntu:25.04#10
johlju wants to merge 4 commits intomainfrom
f/use-ubuntu-minimal

Conversation

@johlju
Copy link
Member

@johlju johlju commented Jul 19, 2025

This change is Reviewable

@coderabbitai
Copy link

coderabbitai bot commented Jul 19, 2025

Caution

Review failed

The pull request is closed.

Walkthrough

Dockerfile updated: base image changed from ubuntu:24.04 to ubuntu:25.04, dotnet-sdk package reference moved from 8.0 to 9.0, and libicu76 was added to the apt install list. No other files or public APIs were modified.

Changes

Cohort / File(s) Summary
Dockerfile
Dockerfile
Base image bumped to ubuntu:25.04, .NET SDK upgraded from 8.0 to 9.0, and libicu76 added to installed packages.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Possibly related PRs


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.

@johlju
Copy link
Member Author

johlju commented Jul 19, 2025

This fails with:

2.432 Unpacking powershell (7.5.2-1.deb) ...
4.671 dpkg: dependency problems prevent configuration of powershell:
4.671  powershell depends on libicu74 | libicu72 | libicu71 | libicu70 | libicu69 | libicu68 | libicu67 | libicu66 | libicu65 | libicu63 | libicu60 | libicu57 | libicu55 | libicu52; however:
4.671   Package libicu74 is not installed.
4.671   Package libicu72 is not installed.
4.671   Package libicu71 is not installed.
4.671   Package libicu70 is not installed.
4.671   Package libicu69 is not installed.
4.671   Package libicu68 is not installed.
4.671   Package libicu67 is not installed.
4.671   Package libicu66 is not installed.
4.671   Package libicu65 is not installed.
4.671   Package libicu63 is not installed.
4.671   Package libicu60 is not installed.
4.671   Package libicu57 is not installed.
4.671   Package libicu55 is not installed.
4.671   Package libicu52 is not installed.
4.671 
4.671 dpkg: error processing package powershell (--install):
4.671  dependency problems - leaving unconfigured
4.685 Errors were encountered while processing:
4.685  powershell

Previous we could install dotnet-sdk-8.0, but dotnet-sdk-9.0 did not solve it this time - we can install ibicu74 but that is not yet supported.

@johlju
Copy link
Member Author

johlju commented Jul 19, 2025

@coderabbitai review

@coderabbitai
Copy link

coderabbitai bot commented Jul 19, 2025

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 3

📜 Review details

Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 7cf1d14 and 0ff6836.

📒 Files selected for processing (1)
  • Dockerfile (2 hunks)
🔇 Additional comments (1)
Dockerfile (1)

29-33: apt-get install -f cannot heal missing ICU—script exits non-zero, layer stays broken.

Guard the install with set -e (already via SHELL) and validate the dependency upfront, or bail out early:

-dpkg -i powershell.deb && \
-apt-get update && apt-get install -f -y --no-install-recommends && \
+if ! dpkg -i powershell.deb; then \
+  echo "⚠️  PowerShell .deb failed – attempting to resolve deps"; \
+  apt-get update && apt-get install -f -y --no-install-recommends; \
+fi && \

Dockerfile Outdated
Comment on lines 3 to 5
FROM ubuntu:25.04
LABEL org.opencontainers.image.source="https://github.com/viscalyx/devshell-dsc" \
org.opencontainers.image.description="Dockerized Ubuntu 24.04 dev environment with Zsh (Oh My Zsh & Powerlevel10k), PowerShell & DSC v3 pre-configured for seamless developer workflows." \
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue

Base image bump to 25.04 introduces unresolved ABI breakage & package-availability risks.

• 25.04 (a non-LTS development release) has already dropped libicu{52-74} that PowerShell 7.5.2 hard-depends on, so the image currently fails to build.
dotnet-sdk-9.0 packages are not yet published for 25.04 in Microsoft’s APT feed; the install step will 404.
Unless you have a strict requirement for 25.04, consider reverting to 24.04/24.10 or pinning 25.04 and vendor the missing binaries.

-FROM ubuntu:25.04
+FROM ubuntu:24.04   # keep LTS until upstream packages exist
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
FROM ubuntu:25.04
LABEL org.opencontainers.image.source="https://github.com/viscalyx/devshell-dsc" \
org.opencontainers.image.description="Dockerized Ubuntu 24.04 dev environment with Zsh (Oh My Zsh & Powerlevel10k), PowerShell & DSC v3 pre-configured for seamless developer workflows." \
FROM ubuntu:24.04 # keep LTS until upstream packages exist
LABEL org.opencontainers.image.source="https://github.com/viscalyx/devshell-dsc" \
org.opencontainers.image.description="Dockerized Ubuntu 24.04 dev environment with Zsh (Oh My Zsh & Powerlevel10k), PowerShell & DSC v3 pre-configured for seamless developer workflows." \
🤖 Prompt for AI Agents
In the Dockerfile at lines 3 to 5, the base image is set to Ubuntu 25.04, which
causes build failures due to missing dependencies and unavailable packages. To
fix this, revert the base image to Ubuntu 24.04 or 24.10 to ensure compatibility
with PowerShell 7.5.2 and availability of dotnet-sdk-9.0 packages. Update the
FROM line accordingly to use a supported LTS or near-LTS version.

Dockerfile Outdated
FROM ubuntu:24.10
FROM ubuntu:25.04
LABEL org.opencontainers.image.source="https://github.com/viscalyx/devshell-dsc" \
org.opencontainers.image.description="Dockerized Ubuntu 24.04 dev environment with Zsh (Oh My Zsh & Powerlevel10k), PowerShell & DSC v3 pre-configured for seamless developer workflows." \
Copy link

Choose a reason for hiding this comment

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

💡 Verification agent

🧩 Analysis chain

Label still claims “Ubuntu 24.04” – update to avoid misleading metadata.

-      org.opencontainers.image.description="Dockerized Ubuntu 24.04 dev environment ...
+      org.opencontainers.image.description="Dockerized Ubuntu 25.04 dev environment ...

🏁 Script executed:

#!/bin/bash
# Locate the Dockerfile and inspect the base image and description label
dockerfile=$(fd --type f --max-depth 2 --hidden --exact-depth 1 Dockerfile || echo "Dockerfile")
rg -n '^FROM ' "$dockerfile"
rg -n 'org.opencontainers.image.description' "$dockerfile"

Length of output: 606


Update image description to match Ubuntu 25.04

The org.opencontainers.image.description label still references “Ubuntu 24.04,” but the FROM line uses ubuntu:25.04, which will confuse consumers. Please update the description to reflect Ubuntu 25.04.

  • File: Dockerfile, line 5
  • Change:
-      org.opencontainers.image.description="Dockerized Ubuntu 24.04 dev environment with Zsh (Oh My Zsh & Powerlevel10k), PowerShell & DSC v3 pre-configured for seamless developer workflows." \
+      org.opencontainers.image.description="Dockerized Ubuntu 25.04 dev environment with Zsh (Oh My Zsh & Powerlevel10k), PowerShell & DSC v3 pre-configured for seamless developer workflows." \
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
org.opencontainers.image.description="Dockerized Ubuntu 24.04 dev environment with Zsh (Oh My Zsh & Powerlevel10k), PowerShell & DSC v3 pre-configured for seamless developer workflows." \
org.opencontainers.image.description="Dockerized Ubuntu 25.04 dev environment with Zsh (Oh My Zsh & Powerlevel10k), PowerShell & DSC v3 pre-configured for seamless developer workflows." \
🤖 Prompt for AI Agents
In Dockerfile at line 5, the org.opencontainers.image.description label mentions
"Ubuntu 24.04" while the base image is ubuntu:25.04. Update the description text
to replace "Ubuntu 24.04" with "Ubuntu 25.04" to ensure consistency and avoid
confusion.

Comment on lines +20 to 22
zsh git curl wget ca-certificates locales lsb-release fontconfig dotnet-sdk-9.0 sudo vim libicu76 \
openssh-client && \
locale-gen en_US.UTF-8 && \
Copy link

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

⚠️ Potential issue

libicu76 does not satisfy PowerShell’s dependency list (≤ 74). Build will continue to fail.

Instead of adding an unused library, install a compatible version (e.g. libicu74) or ship a private copy:

-        fontconfig dotnet-sdk-9.0 sudo vim libicu76 \
+        fontconfig sudo vim \
+# Temporarily fetch libicu74 from previous release until PowerShell supports 76
+        wget -qO- http://archive.ubuntu.com/ubuntu/pool/main/i/icu/libicu74_74.2-1_amd64.deb > /tmp/libicu74.deb && \
+        dpkg -i /tmp/libicu74.deb && rm /tmp/libicu74.deb && \
+        dotnet-sdk-8.0 \

(Replace with a more robust mirror/pinning strategy as desired.)

Committable suggestion skipped: line range outside the PR's diff.

🤖 Prompt for AI Agents
In the Dockerfile around lines 20 to 22, the package `libicu76` is incompatible
with PowerShell's dependency requirements, causing build failures. Replace
`libicu76` with a compatible version such as `libicu74` to satisfy PowerShell
dependencies. Alternatively, consider including a private copy of the required
library or implement a more robust package version pinning or mirror strategy to
ensure compatibility and build stability.

@johlju
Copy link
Member Author

johlju commented Feb 8, 2026

We move to 26.04 LTS when it releases instead, closing this.

@johlju johlju closed this Feb 8, 2026
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.

1 participant