Skip to content

Bump objective-git to stop building the libgit2 test suite - #708

Merged
hannesa2 merged 1 commit into
gitx:masterfrom
goneng:bump-objective-git-for-the-libgit2-test-fix
Sep 21, 2026
Merged

hannesa2 merged 1 commit into
gitx:masterfrom
goneng:bump-objective-git-for-the-libgit2-test-fix

Conversation

@goneng

@goneng goneng commented Sep 21, 2026 •

Copy link
Copy Markdown
Collaborator

Every GitX build runs libgit2's cmake build, which compiled a Clar test
suite that is never run, because the flag meant to switch it off stopped
matching libgit2's own option name at the 1.x rename.

What it saves

libgit2 is rebuilt from scratch several times in every CI job, because
the script always does rm -rf build and runs both as its own step and
again from the ObjectiveGit target's Run Script phase. The arm64 job
builds it three times, in pre build, Run unit tests and
Build project; the x86_64 job twice, lacking the unit test step. So the
saving lands once per build, several times per job.

Measured against run 35601332529, the pull request run 14 minutes before
this one on the same workflow, with two runs of this branch shown because
the spread between them is worth seeing:

step before after, run 1 after, run 2
x86_64 pre build 4m39s 1m19s 1m41s
x86_64 Build project 6m08s 3m31s 4m58s
arm64 pre build 1m59s 1m01s 1m05s
arm64 Run unit tests 4m42s 3m27s 3m46s
arm64 Build project 3m09s 2m05s 2m14s

Call it 4 to 6 minutes off the x86_64 job and around 3 minutes off the
arm64 one. The two runs after the change built byte-identical trees, so
the spread between them is runner variance, and the x86_64 figure in
particular should be read as a range rather than a number. What is not
noisy is the object count, which is exactly 196 per build against 667
before, every time.

Job totals move further than the steps above, from 14m07s to 6m53s and
16m41s to 8m24s, but some of that is unrelated: this pull request skips
notarization, having no signing secrets from a fork, and skips
Run tests, since a submodule bump cannot change the screenshots.

Test plan

@hannesa2

Copy link
Copy Markdown
Contributor

I merged gitx/objective-git#108 and gitx/objective-git#107
Please change pointer to latest master from https://github.com/gitx/objective-git

Every GitX build runs libgit2's cmake build, which compiled a Clar test
suite that is never run, because the flag meant to switch it off stopped
matching libgit2's own option name at the 1.x rename.

- Move the objective-git pointer onto gitx/objective-git#108, which
  passes -DBUILD_TESTS:BOOL=OFF in place of the dead -DBUILD_CLAR:BOOL=OFF
  and cuts 471 of the 667 objects the build compiles.
- Take that fix alone rather than the current objective-git master, which
  has since moved on to unrelated work in gitx#107.
@goneng
goneng force-pushed the bump-objective-git-for-the-libgit2-test-fix branch from 64558d4 to e982340 Compare September 21, 2026 13:22
@goneng
goneng marked this pull request as ready for review September 21, 2026 13:22
@goneng

goneng commented Sep 21, 2026

Copy link
Copy Markdown
Collaborator Author

@goneng
goneng requested a review from hannesa2 September 21, 2026 14:06
@goneng goneng added the pipeline CI pipeline label Sep 21, 2026
@hannesa2
hannesa2 merged commit 48a5d18 into gitx:master Sep 21, 2026
3 checks passed
@goneng
goneng deleted the bump-objective-git-for-the-libgit2-test-fix branch September 21, 2026 14:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pipeline CI pipeline

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants