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

Prepare for the architecture split between MSYS2 runtime 3.3.* vs 3.4.* #33

Merged
merged 6 commits into from May 12, 2023

Conversation

dscho
Copy link
Member

@dscho dscho commented May 12, 2023

From here on out, we will build msys2-runtime-3.3 only for i686, and msys2-runtime only for x86_64. This is a necessary prerequisite for upgrading msys2-runtime to the current version, v3.4.6, because that simply does not support i686 anymore (and to accommodate for that, we move git-sdk-32 to using msys2-runtime-3.3 instead of msys2-runtime).

dscho added 6 commits May 12, 2023 11:57
This is incredibly helpful because it allows for setting breakpoints,
watches, single-stepping and more.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Git Credential Manager is special in that we do not actually _build_ the
program, we simply re-bundle whatever the project published at
https://github.com/git-ecosystem/git-credential-manager.

Therefore, we can get away with _not_ triggering a separate aarch64
run, but we can bundle i686, x86_64 and aarch64 packages in a single
workflow run.

Verify that this is actually what happens.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Regular MINGW-packages (i.e. packages where the programs _have_ to be
built, unlike, say, Git Credential Manager) need to be deployed in
separate workflow runs for the i686/x86_64 and for the aarch64
architectures, as packages cannot be cross-compiled for different
architectures (except for i686 and x86_64).

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
We are about to change for which architectures the two separate MSYS2
runtime packages are built: the v3.3.* legacy package will be built only
for i686, the regular package only for x86_64.

To ensure that those changes are done correctly, let's document the
current behavior first.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
There was a lot of copy/edited code in that part, owing to the fact that
it is not _completely_ trivial to generalize adding the intended Check
Runs, triggering the intended workflow runs, updating the PR comment
with said information, and then updating the Check Runs, too.

Unfortunately, there is no really good way to present this refactoring,
as it collapses the separate MSYS2/MINGW code paths into a single one.

The end result looks a lot cleaner, though, with the only tricky bit
being how the comment is constructed (since there is now a variable
number of workflow runs that may need to be listed).

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
…tures

The purpose of introducing a separate `msys2-runtime-3.3` package is to
allow supporting Git for Windows on i686 setups, even though it cannot
receive updates to the latest MSYS2 runtime versions any longer because
the MSYS2 project dropped i686 support a long time ago.

To that end, let's actually build `msys2-runtime-3.3` _only_ for i686,
and `msys2-runtime` _only_ for x86_64.

That split will allow us to change the `msys2-runtime-3.3` package
definition so that it supersedes ("replaces") `msys2-runtime` and
automagically updates the 32-bit Git for Windows SDKs out there.

This is a step toward phasing out i686 support of Git for Windows, see:
git-for-windows/git#4279 (comment) for
more details about that plan.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
@dscho dscho requested a review from rimrul May 12, 2023 10:09
@dscho dscho marked this pull request as ready for review May 12, 2023 10:17
@dscho dscho self-assigned this May 12, 2023
@dscho dscho merged commit e98b5a2 into git-for-windows:main May 12, 2023
1 check passed
@dscho dscho deleted the msys2-runtime-3.3-vs-3.4 branch May 12, 2023 20:42
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.

None yet

1 participant