Skip to content

.github/workflows, images/ubuntu: Add image definition for Ubuntu 25.10#1801

Merged
debarshiray merged 1 commit into
containers:mainfrom
Ferenc-:ubuntu-25.10
Jun 5, 2026
Merged

.github/workflows, images/ubuntu: Add image definition for Ubuntu 25.10#1801
debarshiray merged 1 commit into
containers:mainfrom
Ferenc-:ubuntu-25.10

Conversation

@Ferenc-
Copy link
Copy Markdown
Contributor

@Ferenc- Ferenc- commented Jun 3, 2026

Add Ubuntu 25.10 image.

@Ferenc- Ferenc- requested a review from Jmennius as a code owner June 3, 2026 07:25
Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request introduces a Containerfile and an extra-packages list to build a toolbox container image for Ubuntu 25.10. The review feedback focuses on improving the robustness of the build process, specifically recommending the use of rm -f instead of rm to avoid failures if files are missing, using the standard rm -rf for cleaning up apt lists, and appending || true to the userdel command to handle cases where the user does not exist.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.


# Remove apt configuration optimized for containers
# Remove docker-gzip-indexes to help with "command-not-found"
RUN rm /etc/apt/apt.conf.d/docker-gzip-indexes /etc/apt/apt.conf.d/docker-no-languages
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

Using rm without the -f (force) flag can cause the build to fail if the target files do not exist (e.g., if they are removed or renamed in a future revision of the base image). It is safer and more robust to use rm -f.

RUN rm -f /etc/apt/apt.conf.d/docker-gzip-indexes /etc/apt/apt.conf.d/docker-no-languages

Comment on lines +18 to +27
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get -y install unminimize && \
sed -Ei '/apt-get (update|upgrade)/s/^/#/' /usr/bin/unminimize && \
yes | /usr/bin/unminimize && \
DEBIAN_FRONTEND=noninteractive apt-get -y install \
ubuntu-minimal ubuntu-standard \
libnss-myhostname \
flatpak-xdg-utils \
$(cat extra-packages | xargs) && \
rm -rd /var/lib/apt/lists/*
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

Using rm -rd is non-standard for cleaning up /var/lib/apt/lists/*. Using rm -rf is the standard, robust, and idiomatic way to clean up apt lists in Dockerfiles.

RUN apt-get update && \
    DEBIAN_FRONTEND=noninteractive apt-get -y install unminimize && \
    sed -Ei '/apt-get (update|upgrade)/s/^/#/' /usr/bin/unminimize && \
    yes | /usr/bin/unminimize && \
    DEBIAN_FRONTEND=noninteractive apt-get -y install \
        ubuntu-minimal ubuntu-standard \
        libnss-myhostname \
        flatpak-xdg-utils \
        $(cat extra-packages | xargs) && \
    rm -rf /var/lib/apt/lists/*

flatpak-xdg-utils \
$(cat extra-packages | xargs) && \
rm -rd /var/lib/apt/lists/*
RUN rm /extra-packages
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

Using rm without the -f flag can cause the build to fail if the file is missing. It is safer to use rm -f.

RUN rm -f /extra-packages


# Having anything in /home prevents toolbox from symlinking /var/home there,
# and 'ubuntu' user with UID 1000 will most likely conflict with host user as well
RUN userdel --remove ubuntu
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

If the ubuntu user does not exist in the base image (or is removed in a future revision), userdel will fail with an exit code, causing the build to fail. Appending || true or checking for user existence first makes the build more robust.

RUN userdel --remove ubuntu || true

RUN userdel --remove ubuntu

# Disable APT ESM hook which tries to enable some systemd services on each apt invocation
RUN rm /etc/apt/apt.conf.d/20apt-esm-hook.conf
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

Using rm without the -f flag can cause the build to fail if the file is missing. It is safer to use rm -f.

RUN rm -f /etc/apt/apt.conf.d/20apt-esm-hook.conf

Ferenc- added a commit to Ferenc-/toolbox that referenced this pull request Jun 3, 2026
@centosinfra-prod-github-app
Copy link
Copy Markdown

Build failed.
https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/local/buildset/96f0369643224169b23758ea6b45938a

✔️ unit-test SUCCESS in 2m 25s
unit-test-migration-path-for-coreos-toolbox NODE_FAILURE Node(set) request 200-0000110087 failed in 0s
unit-test-restricted NODE_FAILURE Node(set) request 200-0000110088 failed in 0s
system-test-fedora-rawhide-commands-options TIMED_OUT in 2h 00m 30s
✔️ system-test-fedora-rawhide-runtime-environment-arch-fedora SUCCESS in 27m 59s
system-test-fedora-rawhide-runtime-environment-ubuntu NODE_FAILURE Node(set) request 200-0000110091 failed in 0s
system-test-fedora-44-commands-options NODE_FAILURE Node(set) request 200-0000110092 failed in 0s
system-test-fedora-44-runtime-environment-arch-fedora NODE_FAILURE Node(set) request 200-0000110093 failed in 0s
system-test-fedora-44-runtime-environment-ubuntu NODE_FAILURE Node(set) request 200-0000110110 failed in 0s
system-test-fedora-43-commands-options NODE_FAILURE Node(set) request 200-0000110095 failed in 0s
✔️ system-test-fedora-43-runtime-environment-arch-fedora SUCCESS in 23m 05s
✔️ system-test-fedora-43-runtime-environment-ubuntu SUCCESS in 6m 36s
system-test-fedora-42-commands-options NODE_FAILURE Node(set) request 200-0000110106 failed in 0s
✔️ system-test-fedora-42-runtime-environment-arch-fedora SUCCESS in 23m 04s
✔️ system-test-fedora-42-runtime-environment-ubuntu SUCCESS in 6m 19s

@debarshiray
Copy link
Copy Markdown
Member

recheck

Copy link
Copy Markdown
Member

@debarshiray debarshiray left a comment

Choose a reason for hiding this comment

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

Thanks for quickly spinning up this pull request, @Ferenc- ! The code changes look good to me. Let's see if we can convince the CI to turn green, and if @Jmennius has anything to add.

@debarshiray
Copy link
Copy Markdown
Member

recheck

@debarshiray
Copy link
Copy Markdown
Member

Rebased against main.

@debarshiray
Copy link
Copy Markdown
Member

Build failed. https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/local/buildset/9dbd43a6541845618e1974c3bb494c8f

system-test-fedora-rawhide-commands-options FAILURE in 3m 35s
system-test-fedora-44-commands-options TIMED_OUT in 1h 45m 28s

This is interesting:

fedora-rawhide | # test suite: Set up
fedora-rawhide | # test suite: Tear down
fedora-rawhide | not ok 1 setup_suite
fedora-rawhide | # (from function `assert_success' in file test/system/libs/bats-assert/src/assert.bash, line 114,
fedora-rawhide | #  from function `_setup_docker_registry' in file test/system/libs/helpers.bash, line 204,
fedora-rawhide | #  from function `setup_suite' in test file test/system/setup_suite.bash, line 70)
fedora-rawhide | #   `_setup_docker_registry' failed
fedora-rawhide | #
fedora-rawhide | # -- command failed --
fedora-rawhide | # status : 126
fedora-rawhide | # output (3 lines):
fedora-rawhide | #   Error: pasta failed with exit code 1:
fedora-rawhide | #   Listen failed for HOST TCP port */50000: Address already in use
fedora-rawhide | #   Couldn't listen on requested ports
fedora-rawhide | # --

We need to do something to not hard code that port number, but a port collision happens so rarely that we never got around to it. Let's try it again.

@debarshiray
Copy link
Copy Markdown
Member

recheck

@debarshiray debarshiray merged commit aee45e7 into containers:main Jun 5, 2026
9 of 10 checks passed
@debarshiray
Copy link
Copy Markdown
Member

Thanks for your contribution, @Ferenc- !

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