Skip to content

build-and-deploy: arm64 fixes for GPG signing #8

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 1 commit into from
Jan 2, 2023

Conversation

dennisameling
Copy link
Contributor

@dennisameling dennisameling commented Dec 24, 2022

As reported here, the Get GPG key(s) step wasn't working on arm64.

gpg: key 88138B9E1A9F3986: public key "Johannes Schindelin <[email protected]>" imported
gpg: no running gpg-agent - starting '/usr/bin/gpg-agent'
gpg: waiting for the agent to come up ... (5s)
gpg: waiting for the agent to come up ... (4s)
gpg: waiting for the agent to come up ... (3s)
gpg: waiting for the agent to come up ... (2s)
gpg: can't connect to the agent: IPC connect call failed

After way too many (failed) attempts to fix things, I debugged by trying gpg-agent --daemon directly in the pipeline and found the following:

gpg-agent[768]: directory '/d/actions-runner/_work/git-for-windows-automation/git-for-windows-automation/home/.gnupg' created
gpg-agent[768]: directory '/d/actions-runner/_work/git-for-windows-automation/git-for-windows-automation/home/.gnupg/private-keys-v1.d' created
gpg-agent[768]: socket name '/d/actions-runner/_work/git-for-windows-automation/git-for-windows-automation/home/.gnupg/S.gpg-agent.extra' is too long

Doh 🤦🏼‍♂️ I changed the path of the runner from D:\actions-runner to D:\a to get below the 100-character limit. Note that GH does this too on their hosted runners, that's why it didn't fail on the x86_64 job. See e.g. this x86_64 run.

We were running into errors like:

gpg-agent[768]: socket name '/d/actions-runner/_work/git-for-windows-automation/git-for-windows-
automation/home/.gnupg/S.gpg-agent.extra' is too long

By setting the runner path to /a instead of /actions-runner, we resolve
this (and potential future) long path issues, just like GitHub does
themselves for their hosted runners.

Signed-off-by: Dennis Ameling <[email protected]>
@dennisameling
Copy link
Contributor Author

Here's a successful CI run of building git-extra that has this fix applied: https://github.com/dennisameling/git-for-windows-automation/actions/runs/3771761998/jobs/6412324785

Copy link
Member

@dscho dscho left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Even if I still think we should do #10, I think this here PR is a good one, too, as it aligns our self-hosted runners more in line with the regular hosted runners.

@dscho dscho merged commit 37df492 into git-for-windows:main Jan 2, 2023
@dscho
Copy link
Member

dscho commented Jan 2, 2023

Here's a successful CI run of building git-extra that has this fix applied: https://github.com/dennisameling/git-for-windows-automation/actions/runs/3771761998/jobs/6412324785

And here is a successful run that built and deployed mingw-w64-aarch64-git-extra: https://github.com/git-for-windows/git-for-windows-automation/actions/runs/3825495631/jobs/6508527516

Now https://wingit.blob.core.windows.net/aarch64/git-for-windows.db is ready to rumble.

Thank you so much @dennisameling!

@dscho
Copy link
Member

dscho commented Jan 2, 2023

Now https://wingit.blob.core.windows.net/aarch64/git-for-windows.db is ready to rumble.

Even more importantly, https://wingit.blob.core.windows.net/aarch64/git-for-windows-aarch64.db is ready to rumble. That means that we can finally add that [git-for-windows-aarch64] section to /etc/pacman.conf.

@dennisameling dennisameling deleted the aarch64-optimizations branch January 3, 2023 06:08
@dennisameling
Copy link
Contributor Author

Yay! That's great news! Thank you! 🎉

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