Skip to content

ci: fix jobs failing on Ubuntu 26.04 - #2478

Open
HaraldNordgren wants to merge 3 commits into
git:masterfrom
HaraldNordgren:ci-linux32-apt-get
Open

HaraldNordgren wants to merge 3 commits into
git:masterfrom
HaraldNordgren:ci-linux32-apt-get

Conversation

@HaraldNordgren

@HaraldNordgren HaraldNordgren commented Oct 31, 2026 •

Copy link
Copy Markdown
Contributor

Four CI jobs fail since ubuntu-latest moved to Ubuntu 26.04.

  • documentation, fuzz smoke test and static-analysis fail with ln: failed to create symbolic link '/usr/bin/dirname': Already exists. Run the ln with sudo.
  • linux32 cannot resolve deb.debian.org. Pin it to ubuntu-24.04. The Docker update in [Ubuntu 26.04] Update Docker to 29.7.2 actions/runner-images#15205 fixes this on 26.04, but a new runner image will take a long time to roll out, and CI should not stay broken while we wait.
  • Use apt-get in linux32 to get rid of the apt does not have a stable CLI interface warnings.

The first two are based on Johannes Schindelin's fixes in Git for Windows (git-for-windows#6473).

The linux32 job prints

    WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

twice, once for "apt update" and once for "apt install". apt is meant
for interactive use. Call apt-get instead, like ci/install-dependencies.sh
already does.

Signed-off-by: Harald Nordgren <haraldnordgren@gmail.com>
When replacing `dirname`, elevation is required, otherwise the command
will fail with:

  + ln -sfT /usr/bin/gnudirname /usr/bin/dirname
  ln: failed to create symbolic link '/usr/bin/dirname': Already exists

as observed in
https://github.com/git-for-windows/git/actions/runs/40223871341/job/121274294974?pr=6473#step:3:909

Based-on-patch-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Harald Nordgren <haraldnordgren@gmail.com>
The linux32 job fails DNS resolution before checkout because Docker
29.4.2's seccomp profile on Ubuntu 26.04 blocks socketcall in i386 glibc
containers. Ubuntu 24.04 avoids this host-side regression.

actions/runner-images#14790

Based-on-patch-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Harald Nordgren <haraldnordgren@gmail.com>
@HaraldNordgren HaraldNordgren changed the title ci: use apt-get in the linux32 job ci: fix jobs failing on Ubuntu 26.04 Nov 1, 2026
@HaraldNordgren
HaraldNordgren marked this pull request as ready for review November 1, 2026 11:00
@HaraldNordgren

Copy link
Copy Markdown
Contributor Author

/submit

@gitgitgadget-git

Copy link
Copy Markdown

Submitted as pull.2478.git.git.1793530936.gitgitgadget@gmail.com

To fetch this version into FETCH_HEAD:

git fetch https://github.com/gitgitgadget/git/ pr-git-2478/HaraldNordgren/ci-linux32-apt-get-v1

To fetch this version to local tag pr-git-2478/HaraldNordgren/ci-linux32-apt-get-v1:

git fetch --no-tags https://github.com/gitgitgadget/git/ tag pr-git-2478/HaraldNordgren/ci-linux32-apt-get-v1

@gitgitgadget-git

Copy link
Copy Markdown

This patch series was integrated into seen via d81b80f.

@gitgitgadget-git gitgitgadget-git Bot added the seen label Nov 3, 2026
@gitgitgadget-git

Copy link
Copy Markdown

Junio C Hamano wrote on the Git mailing list (how to reply to this email):

"Harald Nordgren via GitGitGadget" <gitgitgadget@gmail.com> writes:

> Four CI jobs fail since ubuntu-latest moved to Ubuntu 26.04.
>
>  * documentation, fuzz smoke test and static-analysis fail with ln: failed
>    to create symbolic link '/usr/bin/dirname': Already exists. Run the ln
>    with sudo.

I see this breakage.  Haven't they corrected the Rust rewrite of
dirname by now, by the way, to make this overwrite unnecessary yet?

>  * linux32 cannot resolve deb.debian.org. Pin it to ubuntu-24.04. The Docker
>    update in actions/runner-images#15205 fixes this on 26.04, but a new
>    runner image will take a long time to roll out, and CI should not stay
>    broken while we wait.

Sigh, but this one is rather straightforward.  We need to be aware
of this change so that we can revert it when it becomes unnecessary.

>  * Use apt-get in linux32 to get rid of the apt does not have a stable CLI
>    interface warnings.

I can see this well, but it is a warning only, so I do not know how
much value in addressing it would be.

> The first two are based on Johannes Schindelin's fixes in Git for Windows
> (git-for-windows/git#6473).
>
> Harald Nordgren (3):
>   ci: use apt-get in the linux32 job
>   install-dependencies: work around a permission problem
>   ci: pin linux32 to ubuntu-24.04 to restore networking

Will queue.  Thanks.

>
>  .github/workflows/main.yml | 6 ++++--
>  ci/install-dependencies.sh | 2 +-
>  2 files changed, 5 insertions(+), 3 deletions(-)
>
>
> base-commit: 50fe5cc63f9cd6e89b87a2c9ccf96a444f4cfdb7
> Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-2478%2FHaraldNordgren%2Fci-linux32-apt-get-v1
> Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-2478/HaraldNordgren/ci-linux32-apt-get-v1
> Pull-Request: https://github.com/git/git/pull/2478

@gitgitgadget-git

Copy link
Copy Markdown

This branch is now known as hn/ci-ubuntu-26.04-fixes.

@gitgitgadget-git

Copy link
Copy Markdown

There was a status update in the "New Topics" section about the branch hn/ci-ubuntu-26.04-fixes on the Git mailing list:

The GitHub Actions CI jobs have been updated to fix breakages caused
by the move to Ubuntu 26.04 runner images, including using 'apt-get'
instead of 'apt' for stable CLI output, elevating permissions when
replacing system binaries, and temporarily pinning the 'linux32' job
to Ubuntu 24.04 to avoid seccomp-related networking failures.

Will merge to 'next'?
cf. <xmqqse1h4lmw.fsf@gitster.g>
source: <pull.2478.git.git.1793530936.gitgitgadget@gmail.com>

if test -x /usr/bin/gnudirname
then
ln -sfT /usr/bin/gnudirname /usr/bin/dirname
sudo ln -sfT /usr/bin/gnudirname /usr/bin/dirname

@shrimech shrimech Nov 5, 2026 •

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Suggested change
sudo ln -sfT /usr/bin/gnudirname /usr/bin/dirname
sudo rm -rf /usr/bin/dirname
sudo ln -sfT /usr/bin/gnudirname /usr/bin/dirname

the problem was an already exist for "/usr/bin/dirname" deleting him is more safe .

@gitgitgadget-git

Copy link
Copy Markdown

This patch series was integrated into next via 4835211.

@gitgitgadget-git gitgitgadget-git Bot added the next label Nov 6, 2026
@gitgitgadget-git

Copy link
Copy Markdown

There was a status update in the "Cooking" section about the branch hn/ci-ubuntu-26.04-fixes on the Git mailing list:

The GitHub Actions CI jobs have been updated to fix breakages caused
by the move to Ubuntu 26.04 runner images, including using 'apt-get'
instead of 'apt' for stable CLI output, elevating permissions when
replacing system binaries, and temporarily pinning the 'linux32' job
to Ubuntu 24.04 to avoid seccomp-related networking failures.

Will merge to 'master'.
cf. <xmqqse1h4lmw.fsf@gitster.g>
source: <pull.2478.git.git.1793530936.gitgitgadget@gmail.com>

@gitgitgadget-git

Copy link
Copy Markdown

There was a status update in the "Cooking" section about the branch hn/ci-ubuntu-26.04-fixes on the Git mailing list:

The GitHub Actions CI jobs have been updated to fix breakages caused
by the move to Ubuntu 26.04 runner images, including using 'apt-get'
instead of 'apt' for stable CLI output, elevating permissions when
replacing system binaries, and temporarily pinning the 'linux32' job
to Ubuntu 24.04 to avoid seccomp-related networking failures.

Will merge to 'master'.
cf. <xmqqse1h4lmw.fsf@gitster.g>
source: <pull.2478.git.git.1793530936.gitgitgadget@gmail.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants