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

[QUIC] MsQuic packaging #55639

Closed
7 of 12 tasks
ManickaP opened this issue Jul 14, 2021 · 7 comments
Closed
7 of 12 tasks

[QUIC] MsQuic packaging #55639

ManickaP opened this issue Jul 14, 2021 · 7 comments
Assignees
Labels
area-System.Net.Quic enhancement Product code improvement that does NOT require public API changes/additions
Projects
Milestone

Comments

@ManickaP
Copy link
Member

ManickaP commented Jul 14, 2021

Tracking remaining work on msquic packaging

Windows:

Linux:

  • automation to sign and publish to packages.microsoft.com (dotnet/msquic - 6.0)
  • use msquic preloaded docker images in runtime CI pipeline
  • use as many as possible docker images to run CI (7.0)

Miscellaneous:

  • versioning needs to be more granular than 1.5.0 we have now, to actually push package updates 6.0 ❗ (dotnet/msquic - 6.0) - @wfurt
    • 6.0 servicing - document "How to check if msquic version was bumped and if not, how to bump it" - @wfurt
    • 7.0 - automation with bumps in numbers from dotnet/msquic
  • missing package description
  • separate crypto functions from baked in SSL and add dependency to the package - security 6.0 ❗ - @ManickaP --> Remove crypto functions from statically linked OpenSSL msquic#31
  • branching and versioning post 6.0 branch = main becoming 7.0 6.0 ❗ - infra help needed, post 6.0 branching (dotnet/msquic - 6.0)
  • for single file host we'll need to link msquic statically into runtime, see discussion in more fixes for msquic packaging #55607 (7.0)
  • build packages with Debug MsQuic and use them in Debug builds and stress (7.0)

⚠️ If the work on the item is non-trivial, please create a separate issue and link it here, don't spam this issue with details.

cc: @wfurt @karelz

@dotnet-issue-labeler
Copy link

I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label.

@dotnet-issue-labeler dotnet-issue-labeler bot added the untriaged New issue has not been triaged by the area owner label Jul 14, 2021
@ManickaP ManickaP added this to the 6.0.0 milestone Jul 14, 2021
@ManickaP ManickaP added this to To Do (Low Priority) in HTTP/3 via automation Jul 14, 2021
@ManickaP ManickaP added area-System.Net.Quic and removed untriaged New issue has not been triaged by the area owner labels Jul 14, 2021
@ghost
Copy link

ghost commented Jul 14, 2021

Tagging subscribers to this area: @dotnet/ncl
See info in area-owners.md if you want to be subscribed.

Issue Details

Tracking remaining work on msquic packaging

Win:

  • lack of automation to flow msquic to runtime (darc/maestro)
  • employ win preview images in runtime CI pipeline

Linux:

  • automation to sign and publish to packages.microsoft.com
  • use msquic preloaded docker images in runtime CI pipeline

Miscellaneous:

  • versioning needs to be more granular than 1.5.0 we have now, to actually push package updates
  • missing package description
  • separate crypto functions from baked in SSL and add dependency to the package - security
  • branching and versioning post 6.0 branch = main becoming 7.0

⚠️ If the work on the item is non-trivial, please create a separate issue and link it here, don't spam this issue with details.

cc: @wfurt @karelz

Author: ManickaP
Assignees: -
Labels:

area-System.Net.Quic

Milestone: 6.0.0

@ManickaP ManickaP moved this from To Do (Low Priority) to To Do (High Priority) in HTTP/3 Jul 14, 2021
@karelz karelz added the enhancement Product code improvement that does NOT require public API changes/additions label Jul 14, 2021
@wfurt
Copy link
Member

wfurt commented Jul 14, 2021

For separate crypto we should use UseSystemOpenSSLCrypto for the build script or QUIC_USE_SYSTEM_LIBCRYPTO wit cmake

@ManickaP
Copy link
Member Author

Triage: Identified 3 tasks that should be done within 6.0 time frame, marked bold, rest can be punted.

@wfurt
Copy link
Member

wfurt commented Aug 30, 2021

I think versioning is good enough for 6.0. We used 1.6.0 and 1.7.0 recently. We can use the last digit for any minor or security fixes.
The tricky part is 7.0 when we may want to consume main branch of Microsoft/msquic more frequently. Since that is running branch there are no versioning updates. That is ok for Windows since we publish NuGet with specific number but there is no good way how communicate that for Linux packages unless we add something to MsQuic's version.
While this was not original plan, current Fedora docker image is consuming msquic by building this repo instead of fetching pre-built package. That bypassed our dependency on automatic publishing but at the end it will not test what customers are using and it may leave us blind too class of problems. But it still may be acceptable if we use it only for main branch of runtime.

@karelz
Copy link
Member

karelz commented Aug 31, 2021

Triage: Let's hear a simple story what needs to happen where and when from @wfurt next week in HTTP/3 sync.

@wfurt
Copy link
Member

wfurt commented Aug 17, 2022

closing as we have flow Windows packages (x64, x86 and arm64) and final Linux packages are signed and published by MsQuic pipeline.
We maintain dotnet/msquic fork to be able consume development msquic updates

@wfurt wfurt closed this as completed Aug 17, 2022
HTTP/3 automation moved this from To Do (High Priority) to Done Aug 17, 2022
@ghost ghost locked as resolved and limited conversation to collaborators Sep 16, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-System.Net.Quic enhancement Product code improvement that does NOT require public API changes/additions
Projects
No open projects
HTTP/3
  
Done
Development

No branches or pull requests

4 participants