<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/ci/lib.sh, branch v2.46.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.46.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.46.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2024-09-13T16:02:30Z</updated>
<entry>
<title>ci: add Ubuntu 16.04 job to GitLab CI</title>
<updated>2024-09-13T16:02:30Z</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2024-09-13T05:52:51Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=7cd8f1cc6e17af54fb78768c259a615b1ccc0205'/>
<id>urn:sha1:7cd8f1cc6e17af54fb78768c259a615b1ccc0205</id>
<content type='text'>
In the preceding commits we had to convert the linux32 job to be based
on Ubuntu 20.04 instead of Ubuntu 16.04 due to a limitation in GitHub
Workflows. This was the only job left that still tested against this old
but supported Ubuntu version, and we have no other jobs that test with a
comparatively old Linux distribution.

Add a new job to GitLab CI that tests with Ubuntu 16.04 to cover the
resulting test gap. GitLab doesn't modify Docker images in the same way
GitHub does and thus doesn't fall prey to the same issue. There are two
compatibility issues uncovered by this:

  - Ubuntu 16.04 does not support HTTP/2 in Apache. We thus cannot set
    `GIT_TEST_HTTPD=true`, which would otherwise cause us to fail when
    Apache fails to start.

  - Ubuntu 16.04 cannot use recent JGit versions as they depend on a
    more recent Java runtime than we have available. We thus disable
    installing any kind of optional dependencies that do not come from
    the package manager.

These two restrictions are fine though, as we only really care about
whether Git compiles and runs on such old distributions in the first
place.

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 'rj/test-sanitize-leak-log-fix'</title>
<updated>2024-07-17T17:47:24Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2024-07-17T17:47:24Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=6da44da936d8256438aca9c7e027b7dc5e405b07'/>
<id>urn:sha1:6da44da936d8256438aca9c7e027b7dc5e405b07</id>
<content type='text'>
Tests that use GIT_TEST_SANITIZE_LEAK_LOG feature got their exit
status inverted, which has been corrected.

* rj/test-sanitize-leak-log-fix:
  test-lib: GIT_TEST_SANITIZE_LEAK_LOG enabled by default
  test-lib: fix GIT_TEST_SANITIZE_LEAK_LOG
</content>
</entry>
<entry>
<title>test-lib: GIT_TEST_SANITIZE_LEAK_LOG enabled by default</title>
<updated>2024-07-11T15:37:44Z</updated>
<author>
<name>Rubén Justo</name>
<email>rjusto@gmail.com</email>
</author>
<published>2024-07-11T14:10:51Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=8c1d6691bc514e2c1c01a807e872b5dddcb2485b'/>
<id>urn:sha1:8c1d6691bc514e2c1c01a807e872b5dddcb2485b</id>
<content type='text'>
As we currently describe in t/README, it can happen that:

    Some tests run "git" (or "test-tool" etc.) without properly checking
    the exit code, or git will invoke itself and fail to ferry the
    abort() exit code to the original caller.

Therefore, GIT_TEST_SANITIZE_LEAK_LOG=true is needed to be set to
capture all memory leaks triggered by our tests.

It seems unnecessary to force users to remember this option, as
forgetting it could lead to missed memory leaks.

We could solve the problem by making it "true" by default, but that
might suggest we think "false" makes sense, which isn't the case.

Therefore, the best approach is to remove the option entirely while
maintaining the capability to detect memory leaks in blind spots of our
tests.

Signed-off-by: Rubén Justo &lt;rjusto@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'ps/ci-fix-detection-of-ubuntu-20'</title>
<updated>2024-06-17T22:55:53Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2024-06-17T22:55:53Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=4551858c189ba2d32bd3654fe843c3d54a77b1c8'/>
<id>urn:sha1:4551858c189ba2d32bd3654fe843c3d54a77b1c8</id>
<content type='text'>
Fix for an embarrassing typo that prevented Python2 tests from running
anywhere.

* ps/ci-fix-detection-of-ubuntu-20:
  ci: fix check for Ubuntu 20.04
</content>
</entry>
<entry>
<title>ci: fix check for Ubuntu 20.04</title>
<updated>2024-06-06T16:59:27Z</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2024-06-06T09:31:40Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=df651330ab947d6a950c9cf9a976b56b07d6c2be'/>
<id>urn:sha1:df651330ab947d6a950c9cf9a976b56b07d6c2be</id>
<content type='text'>
In 5ca0c455f1 (ci: fix Python dependency on Ubuntu 24.04, 2024-05-06),
we made the use of Python 2 conditional on whether or not the CI job
runs Ubuntu 20.04. There was a brown-paper-bag-style bug though, where
the condition forgot to invoke the `test` builtin. The result of it is
that the check always fails, and thus all of our jobs run with Python 3
by accident.

Fix this.

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 'jt/port-ci-whitespace-check-to-gitlab'</title>
<updated>2024-05-15T16:52:54Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2024-05-15T16:52:54Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=3fc99d037f10dcce9c1f5e5723ebbf9fc7f1e897'/>
<id>urn:sha1:3fc99d037f10dcce9c1f5e5723ebbf9fc7f1e897</id>
<content type='text'>
The "whitespace check" task that was enabled for GitHub Actions CI
has been ported to GitLab CI.

* jt/port-ci-whitespace-check-to-gitlab:
  gitlab-ci: add whitespace error check
  ci: make the whitespace report optional
  ci: separate whitespace check script
  github-ci: fix link to whitespace error
  ci: pre-collapse GitLab CI sections
</content>
</entry>
<entry>
<title>Merge branch 'ps/ci-python-2-deprecation'</title>
<updated>2024-05-13T17:19:46Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2024-05-13T17:19:46Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=dddddea4b52efabbeeefe0aa1fb6362dd6001a53'/>
<id>urn:sha1:dddddea4b52efabbeeefe0aa1fb6362dd6001a53</id>
<content type='text'>
Unbreak CI jobs so that we do not attempt to use Python 2 that has
been removed from the platform.

* ps/ci-python-2-deprecation:
  ci: fix Python dependency on Ubuntu 24.04
</content>
</entry>
<entry>
<title>ci: fix Python dependency on Ubuntu 24.04</title>
<updated>2024-05-06T19:26:46Z</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2024-05-06T05:35:17Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=5ca0c455f1d020156dc352a209fb1a3a6e548e3d'/>
<id>urn:sha1:5ca0c455f1d020156dc352a209fb1a3a6e548e3d</id>
<content type='text'>
Newer versions of Ubuntu have dropped Python 2 starting with Ubuntu
23.04. By default though, our CI setups will try to use that Python
version on all Ubuntu-based jobs except for the "linux-gcc" one.

We didn't notice this issue due to two reasons:

  - The "ubuntu:latest" tag always points to the latest LTS release.
    Until a few weeks ago this was Ubuntu 22.04, which still had Python
    2.

  - Our Docker-based CI jobs had their own script to install
    dependencies until 9cdeb34b96 (ci: merge scripts which install
    dependencies, 2024-04-12), where we didn't even try to install
    Python at all for many of them.

Since the CI refactorings have originally been implemented, Ubuntu
24.04 was released, and it being an LTS versions means that the "latest"
tag now points to that Python-2-less version. Consequently, those jobs
that use "ubuntu:latest" broke.

Address this by using Python 2 on Ubuntu 20.04, only, whereas we use
Python 3 on all other Ubuntu jobs. Eventually, we should think about
dropping support for Python 2 completely.

Reported-by: Justin Tobler &lt;jltobler@gmail.com&gt;
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: pre-collapse GitLab CI sections</title>
<updated>2024-05-03T19:11:49Z</updated>
<author>
<name>Justin Tobler</name>
<email>jltobler@gmail.com</email>
</author>
<published>2024-05-03T17:21:03Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=7789ea584232770210f169505b27eb1381b9c3b0'/>
<id>urn:sha1:7789ea584232770210f169505b27eb1381b9c3b0</id>
<content type='text'>
Sections of CI output defined by `begin_group()` and `end_group()` are
expanded in GitLab pipelines by default. This can make CI job output
rather noisy and harder to navigate. Update the behavior for GitLab
pipelines to now collapse sections by default.

Signed-off-by: Justin Tobler &lt;jltobler@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>ci: fix setup of custom path for GitLab CI</title>
<updated>2024-04-12T15:47:50Z</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2024-04-12T04:44:27Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=2c5c7639e59a73f1428fa6fb5dff647234046f59'/>
<id>urn:sha1:2c5c7639e59a73f1428fa6fb5dff647234046f59</id>
<content type='text'>
Part of "install-dependencies.sh" is to install some binaries required
for tests into a custom directory that gets added to the PATH. This
directory is located at "$HOME/path" and thus depends on the current
user that the script executes as.

This creates problems for GitLab CI, which installs dependencies as the
root user, but runs tests as a separate, unprivileged user. As their
respective home directories are different, we will end up using two
different custom path directories. Consequently, the unprivileged user
will not be able to find the binaries that were set up as root user.

Fix this issue by allowing CI to override the custom path, which allows
GitLab to set up a constant value that isn't derived from "$HOME".

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