-
-
Notifications
You must be signed in to change notification settings - Fork 171
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
Merge [v3.0] -> [master] #400
Conversation
Oh, this is odd:
The problem is that the path somehow resolves to I assumed this was because I misconfigured something on my Raspberry Pi, but apparently it repros here as well. (I workaround this by just copying the folder). Do you know why we'd end up with |
I'm fairly sure that error is a regression introduced by libgit2/libgit2sharp#1714, it constructs a path to the directory which should contain the native libraries: https://github.com/libgit2/libgit2sharp/pull/1714/files#diff-64eda99ded0bc32ff7cc97deb440b2dbR155-R166 . I'm not sure that path is ever correct, though. That said, it's in the fallback logic so this should be avoidable. Let me have a second look at this. |
Thanks, @qmfrederik. The macOS failure repros on master too, so don't worry about that. It's due to https://github.com/microsoft/azure-pipelines-image-generation/issues/531 which I'm looking for a workaround for. But yes, as your PR alleges to make Ubuntu 19 work, I'd like to see the Disco validation pass as part of this PR. Also I wonder where you got the updates to the |
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
I've worked around the macOS issue in master. |
I'll see if I can either submit a PR to LibGit2Sharp or find a workaround (or both). |
This will only work once libgit2/libgit2sharp#1732 is merged (and NB.GV consumes a new version of LibGit2Sharp) |
Correct. The new algorithm is that they completely ditched libgit2(sharp) in favor of an all managed implementation that reads the .git folder's contents. That's a very expensive sounding idea and not one I care to replicate unless they want to share the all-managed git implementation as a library I can simply reship. But I suspect they are implementing just enough to support SourceLink, which is much less than what we need in this library. So IMO we should proceed with our current design of using libgit2sharp. |
Sounds fair enough to me. Just to be clear, that means you're OK with manually updating the |
Yes, updating RuntimeIdMap.cs manually is fine as long as you know what you're doing. :) I guess we own it now. |
/azp run |
Commenter does not have sufficient privileges for PR 400 in repo AArnott/Nerdbank.GitVersioning |
@AArnott I ran some more tests (sorry for all the spam this has generated).
Now, for master, it seems we're stuck between a rock and a hard place - issues on .NET Core 3.0, or living with #396 . The good news is that this seems fixable for version nbgv v3.0, as v3.0 is still on 0.27.0-preview-0007. I'll create a separate PR for v3.0. |
[v3.0] Add support for ARM64 variants of Debian, Ubuntu
Or a third option: downgrading libgit2sharp even further to the same version we have in NBGV 3.0, where we had neither of these, but we also lacked worktree support (which is why I upgraded in the first place). Am I understanding you correctly, and do you agree we could downgrade enough to solve all this? |
@AArnott Yeah, downgrading will to the same version as v3.0 will get you a build that works on Ubuntu 19.xx . There are two other options I can think of:
|
@AArnott So, this PR now basically is:
At least Ubuntu Bionic with .NET Core 3.0 is now working. That's progress! Ubuntu Disco gives a segfault, which is very odd. Could you try to restart that leg of the job to see if it's persistent? |
@qmfrederik I restarted that job and it failed again. BTW, the 18 commits that GitHub claims to be bringing in with this PR look like there's some duplication there. Where there cherry-picked commits that are now redundant with those being merged in? Can we perhaps do a fresh merge from v3.0 to master and then add the extra stuff in one more commit then force-push it to your source branch? That might make it less likely to hit merge conflicts like it just did as well. |
@AArnott This PR now essentially is a merge from v3.0 into master. I did a I'd say we get this done first, otherwise we'll keep fighting merge conflicts every time something changes in master. The Ubuntu Disco build leg is disabled for now, let's tackle one problem at a time (an admittedly, I spent more time than planned on this 😄 ). |
Thank you. Do you have time to investigate the remaining failure? |
@AArnott Yup, this should be OK now |
libgit2/libgit2sharp.nativebinaries#91 added arm64 support to libgit2sharp.nativebinaries.
This PR
RuntimeIdMap
to add the RIDs for the arm64 variants Debian 9 and Ubuntu 16.04 through 19.10 (and x64 versions of Ubuntu 19.04 and 19.10).I tested this locally on a Rasperry Pi 4 with Ubuntu 19.10, though it took some voodoo to get things to compile locally on arm64.
Fixes #392