-
Notifications
You must be signed in to change notification settings - Fork 102
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
add msquic to Alpine Helix image #649
Conversation
curl -L https://github.com/PowerShell/PowerShell/releases/download/v7.2.5/powershell-7.2.5-linux-alpine-x64.tar.gz | tar xfz - && \ | ||
cd .. && \ | ||
git clone --depth 1 --single-branch --recursive https://github.com/dotnet/msquic && \ | ||
cd msquic/src/msquic && PATH=~/.dotnet/tools:$PATH /tmp/pwsh/pwsh scripts/build.ps1 -Config Release && \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we use -UseSystemOpenSSLCrypto
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We could. I don't think it matters much as this is used only by this one particular image. It would probably produce slightly smaller binary.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, modulo one question
For reference, there is an existing issue for Alpine-based Arm64 support at PowerShell/PowerShell#12937. To work around this, you can use a multi-stage Dockerfile to build msquic in a non-Alpine-based stage and copy the resulting binaries to the final Alpine-based stage. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there any reason not to apply these changes to the Alpine 3.15 Dockerfile instead? Is there anything that restricts you from consuming Alpine 3.15? The Dockerfiles are identical except for the Alpine version. That would give you 6 months extra of a supported OS.
Not really. I look at what runtime uses for testing now and that was 3.14. Maybe I can add it to 3.15 as well but I did not want to change OS version just to add MsQuic. I can do that as follow-up if we get stable CI. (so as arm architectures) |
This is similar to what we do for fedora/34. There is no package so we build msquic from our clone.
This change should allow us to run HTTP/3 & Quic tests on Alpine.
We may need to update this when MsQuic has new release (and we update our clone)
contributes to dotnet/runtime#55639
I was also looking to add it to arm64 but there is no PowerShell so we would either need to compile it from sources or somehow avoid use of pwsh.