Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci: run Git's entire test suite #83

Merged
merged 1 commit into from
Jan 24, 2025

Conversation

dscho
Copy link
Member

@dscho dscho commented Jan 24, 2025

One particularly important part of Git for Windows' MSYS2 runtime is that it is used to run Git's tests, and regressions happened there: For example, the first iteration of MSYS2 runtime v3.5.5 caused plenty of hangs. This was realized unfortunately only after deploying the msys2-runtime Pacman package, and some painful vacation-time scrambling was required to revert to v3.5.4.

To verify that this does not happen anymore, let's reuse what setup-git-for-windows-sdk uses in Git's very own CI:

  • determine the latest successful ci-artifacts workflow run in git-for-windows/git-sdk-64
  • download its Git files and build artifacts
  • download its minimal-sdk
  • overwrite the MSYS2 runtime in the minimal-sdk
  • run the test suite and the assorted validations just like the ci-artifacts workflow (from which these jobs are copied)

This obviously adds a hefty time penalty to every MSYS2 runtime PR in the git-for-windows org. Happily, these days we don't need many of those, and the balance between things like the v3.5.5 scramble and waiting a little longer for the CI to finish is clearly in favor of the latter.

@dscho dscho self-assigned this Jan 24, 2025
@dscho dscho force-pushed the run-gits-test-suite branch 2 times, most recently from ad01166 to 725b84b Compare January 24, 2025 11:29
One particularly important part of Git for Windows' MSYS2 runtime is
that it is used to run Git's tests, and regressions happened there: For
example, the first iteration of MSYS2 runtime v3.5.5 caused plenty of
hangs. This was realized unfortunately only after deploying the
msys2-runtime Pacman package, and some painful vacation-time scrambling
was required to revert to v3.5.4.This was realized unfortunately only
after deploying the msys2-runtime Pacman package, and some painful
vacation-time scrambling was required to revert to v3.5.4.

To verify that this does not happen anymore, let's reuse what
`setup-git-for-windows-sdk` uses in Git's very own CI:

- determine the latest successful `ci-artifacts` workflow run in
  git-for-windows/git-sdk-64

- download its Git files and build artifacts

- download its minimal-sdk

- overwrite the MSYS2 runtime in the minimal-sdk

- run the test suite and the assorted validations just like the
  `ci-artifacts` workflow (from which these jobs are copied)

This obviously adds a hefty time penalty (around 7 minutes!) to every
MSYS2 runtime PR in the git-for-windows org. Happily, these days we
don't need many of those, and the balance between things like the v3.5.5
scramble and waiting a little longer for the CI to finish is clearly in
favor of the latter.

Signed-off-by: Johannes Schindelin <[email protected]>
@dscho dscho force-pushed the run-gits-test-suite branch from 3d65449 to 929a93e Compare January 24, 2025 12:41
@dscho dscho marked this pull request as ready for review January 24, 2025 12:59
@dscho dscho merged commit 25b818f into git-for-windows:main Jan 24, 2025
21 checks passed
@dscho dscho deleted the run-gits-test-suite branch January 24, 2025 13:07
dscho added a commit to dscho/msys2-runtime that referenced this pull request Jan 26, 2025
dscho added a commit to dscho/msys2-runtime that referenced this pull request Jan 26, 2025
dscho added a commit to dscho/msys2-runtime that referenced this pull request Jan 26, 2025
dscho added a commit to dscho/msys2-runtime that referenced this pull request Jan 27, 2025
dscho added a commit to dscho/msys2-runtime that referenced this pull request Jan 28, 2025
dscho added a commit to dscho/msys2-runtime that referenced this pull request Jan 30, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant