<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/ci, branch v2.53.0</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.53.0</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.53.0'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2026-01-23T21:34:36Z</updated>
<entry>
<title>Merge branch 'js/ci-leak-skip-svn'</title>
<updated>2026-01-23T21:34:36Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2026-01-23T21:34:36Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=1f047a6fba1701ed59e78150324e631728406d39'/>
<id>urn:sha1:1f047a6fba1701ed59e78150324e631728406d39</id>
<content type='text'>
Dscho observed that SVN tests are taking too much time in CI leak
checking tasks, but most time is spent not in our code but in libsvn
code (which happen to be written in Perl), whose leaks have little
value to discover for us.  Skip SVN, P4, and CVS tests in the leak
checking tasks.

* js/ci-leak-skip-svn:
  ci: skip CVS and P4 tests in leaks job, too
  ci(*-leaks): skip the git-svn tests to save time
</content>
</entry>
<entry>
<title>ci: skip CVS and P4 tests in leaks job, too</title>
<updated>2026-01-19T19:02:31Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2026-01-17T18:34:17Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=047bd7dfe3b6563ea5f6543533207e3481f3e74c'/>
<id>urn:sha1:047bd7dfe3b6563ea5f6543533207e3481f3e74c</id>
<content type='text'>
Looking at the CI logs, the p4 and cvs tests account for another 24
minutes of test time and they offer minimal value for quite a
similar reason as the previous step.

Let's introduce and use a mechanism to skip these tests to save
some resources.

Suggested-by: Phillip Wood &lt;phillip.wood@dunelm.org.uk&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>ci(*-leaks): skip the git-svn tests to save time</title>
<updated>2026-01-17T18:23:59Z</updated>
<author>
<name>Johannes Schindelin</name>
<email>johannes.schindelin@gmx.de</email>
</author>
<published>2026-01-16T17:31:16Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=d7971544fe17378f44f49983010dbfc1834f7bef'/>
<id>urn:sha1:d7971544fe17378f44f49983010dbfc1834f7bef</id>
<content type='text'>
I noticed recently that the leak-checking jobs still take a lot of time,
and upon analysis, the git-svn tests contribute significantly to this.

Analyzing a recent CI run, I saw that the Git test suite contains
1,017 tests, running for approximately 5¼ hours total. Of these, 65
git-svn-related tests (~6% of test count) took 42.24 minutes combined,
accounting for ~13.% of the total runtime. This implies that the git-svn
tests are roughly twice as expernsive compared to the other tests.

However, testing git-svn in the leak-checking jobs provides minimal
value: git-svn is implemented as a Perl script, and leak checking only
handles C code. While git-svn does call into Git's built-in commands
that are implemented in C, these are standard Git operations that are
already thoroughly exercised elsewhere in the test suite. Therefore,
running the git-svn tests in the leak-checking jobs only adds to the
overall run time with little value in return.

Given that the leak-checking jobs are particularly time-intensive and
these 42+ minutes of SVN tests per job provide no additional leak
detection value, skip them in the *-leaks jobs to reduce CI runtime.

Assisted-by: Claude Sonnet 4.5
Signed-off-by: Johannes Schindelin &lt;johannes.schindelin@gmx.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'jk/ci-windows-meson-test-fix'</title>
<updated>2025-11-26T18:32:43Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2025-11-26T18:32:43Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=536d284f3b351c301181df9844a6abae65959c8a'/>
<id>urn:sha1:536d284f3b351c301181df9844a6abae65959c8a</id>
<content type='text'>
"Windows+meson" job at the GitHub Actions CI was hard to debug, as
it did not show and save failed test artifacts, which has been
corrected.

* jk/ci-windows-meson-test-fix:
  ci(windows-meson-test): handle options and output like other test jobs
  unit-test: ignore --no-chain-lint
</content>
</entry>
<entry>
<title>ci(windows-meson-test): handle options and output like other test jobs</title>
<updated>2025-11-18T17:45:29Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2025-11-18T09:35:19Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=17bd1108eac98d8977a24233a498143ffd577c31'/>
<id>urn:sha1:17bd1108eac98d8977a24233a498143ffd577c31</id>
<content type='text'>
The GitHub windows-meson-test jobs directly run "meson test" with the
--slice option. This means they skip all of the ci/lib.sh
infrastructure, and in particular:

  1. They do not actually set any GIT_TEST_OPTS like --verbose-log or
     -x.

  2. They do not do the usual handle_failed_tests() magic to print test
     failures or tar up failed directories.

As a result, you get almost no feedback at all when a test fails in this
job, making debugging rather tricky.

Let's try to make this behave more like the other CI jobs. Because we're
on Windows, we can't just use the normal run-build-and-tests.sh script.
Our build runs as a separate job (like the non-meson Windows job), and
then we parallelize the tests across several job slices. So we need
something like the run-test-slice.sh script that the "windows-test" job
uses.

In theory we could just swap out the "make" invocation there for
"meson". But it doesn't quite work, because "make" knows how to pull
GIT_TEST_OPTS out of GIT-BUILD-OPTIONS automatically. But for meson, we
have to extract them into the --test-args option ourselves. I tried
making the logic in run-test-slice.sh conditional, but there ended up
being hardly any common code at all (and there are some tricky ordering
constraints). So I added up with a new meson-specific test-slice runner.

Signed-off-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'jc/ci-use-arm64-p4-on-macos'</title>
<updated>2025-11-17T15:00:12Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2025-11-17T15:00:12Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=7f79dc3562bad79a6452e3f350206191f4b95923'/>
<id>urn:sha1:7f79dc3562bad79a6452e3f350206191f4b95923</id>
<content type='text'>
We replaced deprecated macos-13 with macos-14 image in GitHub
Actions CI, but we forgot that the image is for arm64.  We have
been seeing a lot of test failures ever since.  Switch to arm64
binary for Perforce tests.

* jc/ci-use-arm64-p4-on-macos:
  Use Perforce arm64 binary on macOS CI jobs
</content>
</entry>
<entry>
<title>Use Perforce arm64 binary on macOS CI jobs</title>
<updated>2025-11-16T23:11:41Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2025-11-16T23:10:28Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=ffff0bb0dac1f1b5e559ab61ca55616dda1e87c6'/>
<id>urn:sha1:ffff0bb0dac1f1b5e559ab61ca55616dda1e87c6</id>
<content type='text'>
The previous step replaced deprecated macos-13 image with macos-14
image on GitHub Actions CI.  While x86-64 binaries can work there,
because macos-14 images are arm64 based (we could replace it with
macos-14-large that is x86-64), it makes more sense to use arm64
binary there.  Without this change, we have been getting unusually
higher rate of failures from random macOS CI jobs railing to run
t98xx series of tests.

Helped-by: Koji Nakamaru &lt;koji.nakamaru@gree.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'ps/ci-rust'</title>
<updated>2025-10-28T17:29:09Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2025-10-28T17:29:09Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=fe95c55549380c2bb52a839f127886702d7f1f4a'/>
<id>urn:sha1:fe95c55549380c2bb52a839f127886702d7f1f4a</id>
<content type='text'>
CI improvements to handle the recent Rust integration better.

* ps/ci-rust:
  rust: support for Windows
  ci: verify minimum supported Rust version
  ci: check for common Rust mistakes via Clippy
  rust/varint: add safety comments
  ci: check formatting of our Rust code
  ci: deduplicate calls to `apt-get update`
</content>
</entry>
<entry>
<title>ci: verify minimum supported Rust version</title>
<updated>2025-10-15T15:10:17Z</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2025-10-15T06:04:09Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=1b43384f41d8303324e8e6717dcf109e8846c214'/>
<id>urn:sha1:1b43384f41d8303324e8e6717dcf109e8846c214</id>
<content type='text'>
In the current state of our Rust code base we don't really have any
requirements for the minimum supported Rust version yet, as we don't use
any features introduced by a recent version of Rust. Consequently, we
have decided that we want to aim for a rather old version and edition of
Rust, where the hope is that using an old version will make alternatives
like gccrs viable earlier for compiling Git.

But while we specify the Rust edition, we don't yet specify a Rust
version. And even if we did, the Rust version would only be enforced for
our own code, but not for any of our dependencies.

We don't yet have any dependencies at the current point in time. But
let's add some safeguards by specifying the minimum supported Rust
version and using cargo-msrv(1) to verify that this version can be
satisfied for all of our dependencies.

Note that we fix the version of cargo-msrv(1) at v0.18.1. This is the
latest release supported by Ubuntu's Rust version.

Signed-off-by: Patrick Steinhardt &lt;ps@pks.im&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>ci: check for common Rust mistakes via Clippy</title>
<updated>2025-10-15T15:10:17Z</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2025-10-15T06:04:08Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=4b44c46432744a4975432eabba16ad60cb39e089'/>
<id>urn:sha1:4b44c46432744a4975432eabba16ad60cb39e089</id>
<content type='text'>
Introduce a CI check that uses Clippy to perform checks for common
mistakes and suggested code improvements. Clippy is the official static
analyser of the Rust project and thus the de-facto standard.

Signed-off-by: Patrick Steinhardt &lt;ps@pks.im&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
