Skip to content

Switch from bitness to architecture #590

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

Merged
merged 2 commits into from
Feb 6, 2023

Conversation

dennisameling
Copy link
Contributor

Needs git-for-windows/build-extra#462 to be merged first

As we're moving away from bitness in favor of architecture, let's update the logic in setup-git-for-windows-sdk as well. This also adds support for aarch64 in create-sdk-artifact, which we couldn't do with bitness.

@dennisameling dennisameling requested a review from dscho as a code owner February 4, 2023 17:33
@dennisameling dennisameling force-pushed the bitness-to-architecture branch from 4db55d9 to 9a114ae Compare February 4, 2023 17:36
As we're moving away from bitness in favor of architecture, let's update
the logic in setup-git-for-windows-sdk as well. This also adds support
for aarch64 in create-sdk-artifact, which we couldn't do with bitness.

Signed-off-by: Dennis Ameling <[email protected]>
Signed-off-by: Johannes Schindelin <[email protected]>
Signed-off-by: Dennis Ameling <[email protected]>
Signed-off-by: Johannes Schindelin <[email protected]>
@dscho dscho force-pushed the bitness-to-architecture branch from 9a114ae to 1a6b81c Compare February 6, 2023 16:16
@dscho dscho merged commit 7e1ade6 into git-for-windows:main Feb 6, 2023
@dscho
Copy link
Member

dscho commented Feb 6, 2023

@dennisameling do we need anything else to support build-installers/aarch64 in this Action? If not, I'll gladly release v1.8.0 with the news!

@dennisameling dennisameling deleted the bitness-to-architecture branch February 6, 2023 17:05
@dennisameling
Copy link
Contributor Author

Theoretically speaking, everything should work now. Let's test!

@dennisameling
Copy link
Contributor Author

Doh. Completely overlooked the block we had in place for all "non-full" flavors of the arm64 SDK. Let's get rid of that.

@dennisameling
Copy link
Contributor Author

dennisameling commented Feb 6, 2023

@dennisameling do we need anything else to support build-installers/aarch64 in this Action? If not, I'll gladly release v1.8.0 with the news!

It's working now! 🚀 The build-installers artifact was created successfully. It looks like the sync job in git-sdk-arm64 still needs to do its thing as the pipeline tried to update msys2-runtime which closed the process... 🤦🏼 we might want to move the logic from the new SDK's sync pipeline into the [automation repo's build-and-deploy pipeline too](https://github.com/git-for-windows/git-for-windows-automation/blob/c701662ff6838bea2ff4fccccf73df3b2af95605/.github/workflows/build-and-deploy.yml#L160, but that's unrelated to this change in setup-git-for-windows-sdk.

So it looks like the new version of the Action is ready to be published at least! 😊

@dscho
Copy link
Member

dscho commented Feb 6, 2023

Theoretically speaking, everything should work now. Let's test!

Darn. https://github.com/git-for-windows/git-for-windows-automation/actions/runs/4108411699/jobs/7089072793#step:10:482 means that git-sdk-arm64 needs to be sync'ed first...

The problem is that incomplete pacman update when "system" packages are updated. The same thing that is documented here.

@dennisameling I see you already sync'ed, so you're aware of the problem 😁

@dennisameling
Copy link
Contributor Author

dennisameling commented Feb 6, 2023

I'm signing off for today but have a feeling that the pipeline will work just fine when we retry it now that the sync job has run. I just don't dare starting the pipeline now and then risking it getting stuck while I'm asleep and some VM is burning money 💰 💸

@dscho
Copy link
Member

dscho commented Feb 6, 2023

@dennisameling yep, let's get a good night's sleep before celebrating a working build (I have no doubt that it'll work) ;-)

@dennisameling
Copy link
Contributor Author

Ok, I had to tweak a few other minor things, and the build of mingw-w64-git succeeded after randomly getting stuck and I had to cancel it. I also encountered that exact same issue a few days ago when building locally. It's not consistent. In the vast majority of attempts it works without problems, so let's just keep an eye on it for now.

The "Test-deploy Pacman packages" part is failing now and I'm not sure whether that's related to the build-installers package. Maybe it's still missing some binary that this script uses. I could test it locally on an arm64 machine if that's of interest, unless you know right away what might be causing this error 👍🏼

@dscho
Copy link
Member

dscho commented Feb 7, 2023

after randomly getting stuck

That could be the code-signing. It has to contact a server for the validated timestamp and that sometimes causes hiccups (but I do not recall seeing any of these issues in the past few years).

the build of mingw-w64-git succeeded

🎉🎉🎉🎉🎉

The "Test-deploy Pacman packages" part is failing now

Hmm. It says that the cp fails because the source and the target "are the same file"... Let me have a look.

@dscho
Copy link
Member

dscho commented Feb 7, 2023

The "Test-deploy Pacman packages" part is failing now

Hmm. It says that the cp fails because the source and the target "are the same file"... Let me have a look.

I am fairly certain that this failure happens in this line. I remember that the .db files were not generated by repo-add and that's why that cp was needed.

However, that could have changed in the meantime. After all, pacman was updated. Let's see what changed.

clicketyclick

msys2/MSYS2-packages@e7424d8 does not seem as if it could be responsible for this. Let me try a local dry-run and come back to you.

@dscho
Copy link
Member

dscho commented Feb 7, 2023

I cannot reproduce locally, but I have a hunch that maybe these lines are responsible...

@dscho
Copy link
Member

dscho commented Feb 7, 2023

Let's see whether I can debug interactively with tmate.

@dennisameling
Copy link
Contributor Author

You might as well just run the create-azure-self-hosted-runners workflow manually and RDP into the VM, which might be a bit easier. I can also test locally on my arm64 device later today if that's easier.

@dscho
Copy link
Member

dscho commented Feb 7, 2023

You might as well just run the create-azure-self-hosted-runners workflow manually and RDP into the VM, which might be a bit easier. I can also test locally on my arm64 device later today if that's easier.

No, I already tried as manual testing as possible, but cannot replicate the issue. So it's probably something to do with the Actions environment. Maybe symbolic links are enabled or something.

@dscho
Copy link
Member

dscho commented Feb 7, 2023

Okay, my give up. I'll start my Windows/ARM64 VM and hope that I can reproduce there...

@dscho
Copy link
Member

dscho commented Feb 7, 2023

As I feared, I cannot reproduce in my VM.

@dscho
Copy link
Member

dscho commented Feb 7, 2023

Aha! I just noticed this line. That's the "Maybe symbolic links are enabled" thing: MSYS=winsymlinks:nativestrict will do that. I'm just not quite sure where this came from...

@dennisameling
Copy link
Contributor Author

Good catch! That's clearly coming from setup-git-for-windows-sdk as it's only set after that CI step. You can find it in the raw index.js: https://raw.githubusercontent.com/git-for-windows/setup-git-for-windows-sdk/6697295a149f95f97cb98aff3c2316cf264f7b80/dist/index.js

@dscho
Copy link
Member

dscho commented Feb 7, 2023

Whoa! But it's not even in setup-git-for-windows-sdk! It comes from the cache Action. That sucks.

@dennisameling
Copy link
Contributor Author

dennisameling commented Feb 7, 2023

Looks like that was introduced in @actions/cache 3.1.2 (that PR was merged recently). Shall we downgrade to 3.1.1 and file a bug report? Or just make sure we always export a proper MSYS env variable ourselves?

@dscho
Copy link
Member

dscho commented Feb 7, 2023

Shall we downgrade to 3.1.1 and file a bug report?

I don't want to wait that long, and I don't want to be stuck with an eternally-obsolete dependency.

So I opened git-for-windows/build-extra#477.

@dennisameling
Copy link
Contributor Author

Let's try again! 🤞🏼

@dennisameling
Copy link
Contributor Author

It hang again, so I had to restart. This time it worked! 🎉🎉🎉🎉🎉🎉🎉

Here's a PR to incorporate my temporary fixes into the build-and-deploy workflow moving forward: git-for-windows/git-for-windows-automation#25

@dennisameling
Copy link
Contributor Author

@dennisameling do we need anything else to support build-installers/aarch64 in this Action? If not, I'll gladly release v1.8.0 with the news!

I think we're good to release v1.8.0 now, right? 😊

@dscho
Copy link
Member

dscho commented Feb 8, 2023

@dennisameling do we need anything else to support build-installers/aarch64 in this Action? If not, I'll gladly release v1.8.0 with the news!

I think we're good to release v1.8.0 now, right? 😊

Yes!!!

@dscho
Copy link
Member

dscho commented Feb 8, 2023

https://github.com/git-for-windows/setup-git-for-windows-sdk/releases/tag/v1.8.0 🎉

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.

2 participants