Skip to content

ci: install git in stock-Ubuntu baseline job#4847

Merged
escapedcat merged 1 commit into
masterfrom
fix/ci-stock-ubuntu-missing-git
Jun 25, 2026
Merged

ci: install git in stock-Ubuntu baseline job#4847
escapedcat merged 1 commit into
masterfrom
fix/ci-stock-ubuntu-missing-git

Conversation

@escapedcat

Copy link
Copy Markdown
Member

Problem

The nodeJsBaselineAptCompatibility CI job ("NodeJS installed from stock Ubuntu-LTS packages") has been red on master since 2026-06-25, failing with ~189 errors across config-*-scopes, load, cli, get-edit-commit, and find-up tests.

It is not caused by any code change. The same commit (d4a79621) passed on 2026-06-24 and failed on 2026-06-25 with identical code.

Root cause

The job runs apt install --yes nodejs npm inside an ubuntu:26.04 container. The test suite bootstraps throwaway repos via git init, but the git binary only ever arrived as an apt Recommends of the npm chain — never a hard dependency.

Comparing the last green run to the first red run:

green (06-24) red (06-25)
commit SHA d4a79621 d4a79621 (same)
ubuntu:26.04 image digest sha256:5395…ffdba sha256:5395…ffdba (same)
nodejs / npm 22.22.1 / 9.2.0 22.22.1 / 9.2.0 (same)
packages installed 695 538
git present

On the red run apt simply stopped installing the recommended set, logging:

Recommended packages:
  build-essential  git  libfile-mimeinfo-perl  libnet-dbus-perl  libx11-protocol-perl

ubuntu:26.04 is a fast-moving archive (gcc-15, perl 5.40, python 3.14) refreshed by apt update on every run, so Recommends resolution is not stable day-to-day. The job was silently relying on an un-guaranteed default.

(Side note: actions/checkout here always uses the REST API fallback — the container is bare at checkout time — so this is unrelated to checkout; the tests create their own repos.)

Fix

Install git explicitly so the job no longer depends on an incidental Recommends. This stays in the spirit of the job (stock apt packages, no actions/setup-node); git is a standard system tool, not a Node toolchain shortcut.

Verification

The previously-failing job passes on this branch: the nodeJsBaselineAptCompatibility job concluded success on the push run for fix/ci-stock-ubuntu-missing-git.

🤖 Generated with Claude Code

The nodeJsBaselineAptCompatibility job runs `apt install --yes nodejs npm`
in an ubuntu:26.04 container. The test suite bootstraps throwaway repos via
`git init`, and the git binary only ever arrived as an apt Recommends of the
npm chain — never a hard dependency.

On 2026-06-25 that broke: with the identical image digest and identical
nodejs 22.22.1 / npm 9.2.0, apt stopped installing Recommends (logging
`Recommended packages: build-essential git ...` and skipping them), so git
was absent and ~189 git-dependent tests errored. Same commit had passed the
day before — purely an environment shift in the fast-moving 26.04 archive.

Install git explicitly so the job no longer relies on an un-guaranteed
Recommends default. This stays in the spirit of the job (stock apt packages,
no actions/setup-node); git is a standard system tool, not a Node shortcut.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@qodo-code-review

Copy link
Copy Markdown

Qodo reviews are paused for this user.

Troubleshooting steps vary by plan Learn more →

On a Teams plan?
Reviews resume once this user has a paid seat and their Git account is linked in Qodo.
Link Git account →

Using GitHub Enterprise Server, GitLab Self-Managed, or Bitbucket Data Center?
These require an Enterprise plan - Contact us
Contact us →

@escapedcat escapedcat merged commit 40f3308 into master Jun 25, 2026
14 checks passed
@escapedcat escapedcat deleted the fix/ci-stock-ubuntu-missing-git branch June 25, 2026 09:58
@greptile-apps

greptile-apps Bot commented Jun 25, 2026

Copy link
Copy Markdown

Confidence Score: 5/5

Safe to merge — a single-line CI fix that adds an explicit git install to a previously fragile implicit dependency.

The change is surgical: one extra package name on an existing apt install line, backed by a well-researched root cause. The comment accurately describes why the change is needed and there is no risk of breaking any existing test path. The job's intent (stock apt packages, no actions/setup-node) is fully preserved.

No files require special attention.

Important Files Changed

Filename Overview
.github/workflows/CI.yml Adds git as an explicit apt dependency in the stock-Ubuntu CI job, fixing a flaky failure caused by apt no longer pulling it in via Recommends

Reviews (1): Last reviewed commit: "ci: install git in stock-Ubuntu baseline..." | Re-trigger Greptile

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

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant