please.sh build-mingw-w64-git: assume that all dependencies are installed#588
Merged
dscho merged 1 commit intogit-for-windows:mainfrom Feb 5, 2025
Conversation
…lled The idea of having `git-sdk-*` repositories that track full MSYS2 environments is not only to have a convenient and fast way to bootstrap a build environment in which to build and release Git for Windows, it also enables straight-forward processes for embargoed builds, where we have to "time-travel" back to the state from which the preceding version was built and assembled. To guarantee that this time traveling continues to work, the build process of a regular Git for Windows release must be prevented from "conveniently" installing missing dependencies; If they are not part of the `git-sdk-*` repository (or not in the `build-installers` sparse checkout), that needs to be changed before releasing, so that the embargoed release process can continue to work as intended. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
dscho
added a commit
to dscho/git-sdk-64
that referenced
this pull request
Feb 5, 2025
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
dscho
added a commit
to git-for-windows/git-sdk-64
that referenced
this pull request
Feb 5, 2025
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
dscho
added a commit
to git-for-windows/git-sdk-64
that referenced
this pull request
Feb 5, 2025
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
dscho
added a commit
to git-for-windows/git-sdk-64
that referenced
this pull request
Feb 5, 2025
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
dscho
added a commit
to git-for-windows/git-sdk-64
that referenced
this pull request
Feb 5, 2025
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
dscho
added a commit
to git-for-windows/git-sdk-arm64
that referenced
this pull request
Feb 5, 2025
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
dscho
added a commit
to git-for-windows/git-sdk-32
that referenced
this pull request
Feb 5, 2025
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
dscho
added a commit
to git-for-windows/git-sdk-arm64
that referenced
this pull request
Feb 5, 2025
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
dscho
added a commit
to git-for-windows/git-sdk-arm64
that referenced
this pull request
Feb 5, 2025
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
dscho
added a commit
to git-for-windows/git-sdk-arm64
that referenced
this pull request
Feb 5, 2025
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
dscho
added a commit
to git-for-windows/git-sdk-arm64
that referenced
this pull request
Feb 5, 2025
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Member
Author
|
I verified that this works in |
mjcheetham
approved these changes
Feb 5, 2025
Member
mjcheetham
left a comment
There was a problem hiding this comment.
I assume the new --maybe-sync option will be added in a related PR where necessary?
Member
Author
It won't actually be necessary, I expect. I just added this option in case somebody relies on the |
chrisd8088
added a commit
to chrisd8088/git-lfs
that referenced
this pull request
Feb 6, 2025
As described in commit 8d456a7 of PR git-lfs#5879, we currently depend on the Git for Windows SDK to install a version of the "prove" command from Perl Test::Harness distribution, because we use that command to run our suite of shell tests. However, in our CI jobs on Windows, the SDK does not at present install the "prove" command into a location listed in the PATH environment variable, so these CI jobs having begun failing. This change may be related to the recent migration of the SDK's release artifacts to GitHub from Azure Blobs, as outlined in PR git-for-windows/git-for-windows-automation#109, and is possibly a consequence of PR git-for-windows/build-extra#588. Regardless, the "prove" command is fortunately still included in the "minimal" flavour of the SDK, since it is listed in the manifest for that flavour: https://github.com/git-for-windows/git-sdk-64/blob/f845bb725e56e058a0fbf93aba18c70906a1068e/.sparse/minimal-sdk#L188 We simply need to ensure that the directory in which the command is now located, namely /usr/bin/core_perl, is added to the set of paths in the PATH variable for the Git Bash environment. Note that we only need to add this extra path to PATH when we are running our script/cibuild script, as that runs the default recipe from our t/Makefile file, which in turn executes the "test" recipe, which uses the "prove" command to run and summarize all our shell test scripts.
chrisd8088
added a commit
to chrisd8088/git-lfs
that referenced
this pull request
Feb 6, 2025
As described in commit 8d456a7 of PR git-lfs#5879, we currently depend on the Git for Windows SDK to install a version of the "prove" command from the Perl Test::Harness distribution, because we use that command to run our suite of shell tests. However, in our CI jobs on Windows, the SDK does not at present install the "prove" command into a location listed in the PATH environment variable, so these CI jobs having begun failing. This change may be related to the recent migration of the SDK's release artifacts to GitHub from Azure Blobs, as outlined in PR git-for-windows/git-for-windows-automation#109, and is possibly a consequence of PR git-for-windows/build-extra#588. Regardless, the "prove" command is fortunately still included in the "minimal" flavour of the SDK, since it is listed in the manifest for that flavour: https://github.com/git-for-windows/git-sdk-64/blob/f845bb725e56e058a0fbf93aba18c70906a1068e/.sparse/minimal-sdk#L188 We simply need to ensure that the directory in which the command is now located, namely /usr/bin/core_perl, is added to the set of paths in the PATH variable for the Git Bash environment. Note that we only need to add this extra path to PATH when we are running our script/cibuild script, as that runs the default recipe from our t/Makefile file, which in turn executes the "test" recipe, which uses the "prove" command to run and summarize all our shell test scripts.
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.
The idea of having
git-sdk-*repositories that track full MSYS2 environments is not only to have a convenient and fast way to bootstrap a build environment in which to build and release Git for Windows, it also enables straight-forward processes for embargoed builds, where we have to "time-travel" back to the state from which the preceding version was built and assembled.To guarantee that this time traveling continues to work, the build process of a regular Git for Windows release must be prevented from "conveniently" installing missing dependencies; If they are not part of the
git-sdk-*repository (or not in thebuild-installerssparse checkout), that needs to be changed before releasing, so that the embargoed release process can continue to work as intended.