Conversation
Member
|
/deploy The i686/x86_64 and the arm64 workflow runs were started. |
Signed-off-by: Matthias Aßhauer <mha1993@live.de>
Git for Windows recently stopped building its own Perl and switched to
the MSYS2-provided one. That Perl reports $^O as 'cygwin' rather than
'msys', which means OpenSSL's test skip guards that check for 'msys' no
longer fire. Tests that open listening sockets (notably
82-test_ocsp_cert_chain.t and 90-test_store.t) then hang indefinitely
because Windows Defender's firewall prompts for permission to allow the
connection, which blocks in CI where nobody can click "Allow".
The fix has two parts. For guards that were introduced by our own
carried patches (0005-Fix-Text-comparison, 0006-Mangle-Absolute-path,
0007-Fix-OS-detection), the patches themselves are updated to match
'cygwin' alongside 'msys' from the start. For guards that exist in
upstream OpenSSL (in 02-test_errstr.t, 25-test_eai_data.t,
25-test_x509.t, 80-test_cmp_http.t, 82-test_ocsp_cert_chain.t,
82-test_tfo_cli.t, and 90-test_store.t), a new patch
0009-Also-treat-Cygwin-Perl-like-MSYS-Perl-in-test-skip-g.patch is
added. MSYS2 upstream does not carry this patch because they have not
encountered the firewall hang in their CI, but it is a safety measure
that costs nothing and prevents real hangs on Windows build agents where
Defender is active.
The patches were produced from the playground repository at
mingw-w64-openssl/src/playground, which can be recreated as follows:
git init playground && cd playground
/usr/src/git/contrib/fast-import/import-tars.perl \
../openssl-3.5.6.tar.gz
git checkout import-tars
git am ../../000[1-9]-*.patch
git fast-export --no-data HEAD | \
awk '/^author /{a=$0} /^committer /{$0="committer " substr(a,8)} 1' | \
git fast-import --force --quiet
The fast-export/fast-import awk trick forces committer identity and
timestamp to match the author on every commit, including the import
commit created by import-tars.perl (which otherwise uses the identity
of whoever runs the script). This makes the resulting OIDs fully
reproducible, so `git format-patch --no-signature -o ../.. -9 HEAD`
always exports identical patches.
Assisted-by: Claude Opus 4.6
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
With parallel make, the install step can fail with "Error 13" (permission denied) when multiple jobs race to run pod2man or write to the same directory simultaneously. MSYS2 upstream hit the same problem and added -j1 for `make install` in their 3.4.0 update (msys2/MINGW-packages@3c238e9727, referencing openssl/openssl#24298). Assisted-by: Claude Opus 4.6 Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
The OpenSSL test suite runs via Perl's Test::Harness, which defaults to sequential execution (HARNESS_JOBS=1) unless told otherwise. With 342 test files, sequential execution takes well over an hour on CI. Setting HARNESS_JOBS=8 brings this down to about 12 minutes on a 6-core machine, as verified locally (710 wallclock seconds, 4335 tests, all passing). The default of 8 is a reasonable middle ground: high enough to saturate typical CI agents, low enough to avoid file descriptor exhaustion. The value can still be overridden via the environment for machines where a different number is appropriate. Assisted-by: Claude Opus 4.6 Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
3929457 to
53f7012
Compare
Member
|
/deploy The i686/x86_64 and the arm64 workflow runs were started. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This closes git-for-windows/git#6160