<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/.github/workflows/main.yml, branch v2.51.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.51.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.51.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2025-10-16T16:29:01Z</updated>
<entry>
<title>build(deps): bump actions/github-script from 7 to 8</title>
<updated>2025-10-16T16:29:01Z</updated>
<author>
<name>Johannes Schindelin</name>
<email>johannes.schindelin@gmx.de</email>
</author>
<published>2025-10-16T15:48:12Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=96978d7545a00dbffe99252a4749a7554ce124bb'/>
<id>urn:sha1:96978d7545a00dbffe99252a4749a7554ce124bb</id>
<content type='text'>
Bumps [actions/github-script](https://github.com/actions/github-script)
from 7 to 8.
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](https://github.com/actions/github-script/compare/v7...v8)

Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>build(deps): bump actions/setup-python from 5 to 6</title>
<updated>2025-10-16T16:29:01Z</updated>
<author>
<name>Johannes Schindelin</name>
<email>johannes.schindelin@gmx.de</email>
</author>
<published>2025-10-16T15:48:11Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=b195b9526bc7fa642b9ff9dba56753acac165ea7'/>
<id>urn:sha1:b195b9526bc7fa642b9ff9dba56753acac165ea7</id>
<content type='text'>
Bumps [actions/setup-python](https://github.com/actions/setup-python)
from 5 to 6.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v5...v6)

Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>build(deps): bump actions/checkout from 4 to 5</title>
<updated>2025-10-16T16:29:01Z</updated>
<author>
<name>Johannes Schindelin</name>
<email>johannes.schindelin@gmx.de</email>
</author>
<published>2025-10-16T15:48:10Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=63541ed9bc9213349f8957ecb362a0e8a97ad1f7'/>
<id>urn:sha1:63541ed9bc9213349f8957ecb362a0e8a97ad1f7</id>
<content type='text'>
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)

Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>build(deps): bump actions/download-artifact from 4 to 5</title>
<updated>2025-10-16T16:29:00Z</updated>
<author>
<name>Johannes Schindelin</name>
<email>johannes.schindelin@gmx.de</email>
</author>
<published>2025-10-16T15:48:09Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=d014fb2914e3c318b72cd1f4efb777677aa15805'/>
<id>urn:sha1:d014fb2914e3c318b72cd1f4efb777677aa15805</id>
<content type='text'>
Bumps
[actions/download-artifact](https://github.com/actions/download-artifact)
from 4 to 5.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v4...v5)

Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>ci: use Meson's new `--slice` option</title>
<updated>2025-07-11T16:56:34Z</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2025-07-09T06:23:42Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=d3d6493dcf35cc0ffb4ed88da85c3b206f02936a'/>
<id>urn:sha1:d3d6493dcf35cc0ffb4ed88da85c3b206f02936a</id>
<content type='text'>
As executing our test suite is notoriously slow on Windows we use matrix
jobs in our CI systems to slice up tests and run them via multiple jobs.
On Meson this is done with a comparatively complex PowerShell invocation
as Meson didn't yet have a native way to slice tests like this.

I have upstreamed a new `--slice` option [1] that addresses this use
case though, which has been merged and released with Meson 1.8. Both
GitLab and GitHub CI have Meson 1.8.2 available by now, so let's update
the jobs to use that new option.

[1]: https://github.com/mesonbuild/meson/pull/14092

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>Merge branch 'js/ci-build-win-in-release-mode'</title>
<updated>2025-05-23T22:34:06Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2025-05-23T22:34:06Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=e9312881ec59a0ab2a000990f01bbfbc60b276b2'/>
<id>urn:sha1:e9312881ec59a0ab2a000990f01bbfbc60b276b2</id>
<content type='text'>
win+Meson CI pipeline, unlike other pipelines for Windows,
used to build artifacts in develper mode, which has been changed to
build them in release mode for consistency.

* js/ci-build-win-in-release-mode:
  ci(win+Meson): build in Release mode
</content>
</entry>
<entry>
<title>Merge branch 'kn/meson-hdr-check'</title>
<updated>2025-05-05T21:56:25Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2025-05-05T21:56:25Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=791db2c7ba4383dfa3346b090653792b0076822a'/>
<id>urn:sha1:791db2c7ba4383dfa3346b090653792b0076822a</id>
<content type='text'>
Add an equivalent to "make hdr-check" target to meson based builds.

* kn/meson-hdr-check:
  makefile/meson: add 'check-headers' as alias for 'hdr-check'
  meson: add support for 'hdr-check'
  meson: rename 'third_party_sources' to 'third_party_excludes'
  meson: move headers definition from 'contrib/coccinelle'
  coccinelle: meson: rename variables to be more specific
  ci/github: install git before checking out the repository
</content>
</entry>
<entry>
<title>ci(win+Meson): build in Release mode</title>
<updated>2025-05-05T15:51:09Z</updated>
<author>
<name>Johannes Schindelin</name>
<email>johannes.schindelin@gmx.de</email>
</author>
<published>2025-05-03T14:25:46Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=184abdcf0593a5bbf909ed74fbddcc5f79f214be'/>
<id>urn:sha1:184abdcf0593a5bbf909ed74fbddcc5f79f214be</id>
<content type='text'>
When the `win+Meson` job was added to Git's CI, modeled after the
`win+vs` job, it overlooked that the latter built the Git artifacts in
release mode.

The reason for this is that there is code in `compat/mingw.c` that turns
on the modal assertion dialogs in debug mode, which are very useful when
debugging interactively (as they offer to attach Visual Studio's
debugger), but they are scarcely useful in CI builds (where that modal
dialog would sit around, waiting for a human being to see and deal with
it, which obviously won't ever happen).

This problem was not realized immediately because of a separate bug: the
`win+Meson` job erroneously built using the `gcc` that is in the `PATH`
by default on hosted GitHub Actions runners. Since that bug was fixed by
switching to `--vsenv`, though, the t7001-mv test consistently timed out
after six hours in the CI builds on GitHub, quite often, and wasting
build minutes without any benefit in return.

The reason for this timeout was a symptom of aforementioned debug mode
problem, where the test case 'nonsense mv triggers assertion failure and
partially updated index' in t7001-mv triggered an assertion.

I originally proposed this here patch to address the timeouts in CI
builds. The Git project decided to address this timeout differently,
though: by fixing the bug that the t7001-mv test case demonstrated. This
does not address the debug mode problem, though, as an `assert()` call
could be triggered in other ways in CI, and it should still not cause
the CI build to hang but should cause Git to error out instead. To avoid
having to accept this here patch, it was then proposed to replace all
`assert()` calls in Git's code base by `BUG()` calls. This might be
reasonable for independent reasons, but it obviously still does not
address the debug mode problem, as `assert()` calls could be easily
re-introduced by mistake, and besides, Git has a couple of dependencies
that all may have their own `assert()` calls (which are then safely
outside the control of the Git project to remove), therefore this here
patch is still needed.

Signed-off-by: Johannes Schindelin &lt;johannes.schindelin@gmx.de&gt;
Acked-by: Patrick Steinhardt &lt;ps@pks.im&gt;
[jc: rebased on 'maint' to enable fast-tracking the change down]
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'ps/ci-resurrect-p4-on-github'</title>
<updated>2025-04-29T21:21:33Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2025-04-29T21:21:33Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=daae7937c79e6cb5ae1bbae76dbaaa8d7300e01f'/>
<id>urn:sha1:daae7937c79e6cb5ae1bbae76dbaaa8d7300e01f</id>
<content type='text'>
CI fix.

* ps/ci-resurrect-p4-on-github:
  ci: fix p4d executable not being found on GitHub Actions
</content>
</entry>
<entry>
<title>ci/github: install git before checking out the repository</title>
<updated>2025-04-23T17:34:12Z</updated>
<author>
<name>Karthik Nayak</name>
<email>karthik.188@gmail.com</email>
</author>
<published>2025-04-23T08:15:34Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=a064b0be55f60b0b8281b4a6a38917eab4b9c50f'/>
<id>urn:sha1:a064b0be55f60b0b8281b4a6a38917eab4b9c50f</id>
<content type='text'>
The GitHub's CI workflow uses 'actions/checkout@v4' to checkout the
repository. This action defaults to using the GitHub REST API to obtain
the repository if the `git` executable isn't available.

The step to build Git in the GitHub workflow can be summarized as:

  ...
  - uses: actions/checkout@v4 #1
  - run: ci/install-dependencies.sh #2
  ...
  - run: sudo --preserve-env --set-home --user=builder ci/run-build-and-tests.sh #3
  ...

Step #1, clones the repository, since the `git` executable isn't present
at this step, it uses GitHub's REST API to obtain a tar of the
repository.

Step #2, installs all dependencies, which includes the `git` executable.

Step #3, sets up the build, which includes setting up meson in the meson
job. At this point the `git` executable is present.

This means while the `git` executable is present, the repository doesn't
contain the '.git' folder. To keep both the CI's (GitLab and GitHub)
behavior consistent and to ensure that the build is performed on a
real-world scenario, install `git` before the repository is checked out.
This ensures that 'actions/checkout@v4' will clone the repository
instead of using a tarball. We also update the package cache while
installing `git`, this is because some distros will fail to locate the
package without updating the cache.

Helped-by: Phillip Wood &lt;phillip.wood123@gmail.com&gt;
Signed-off-by: Karthik Nayak &lt;karthik.188@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
