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

Backport #2758 to Release 2.0 #2920

Closed
wants to merge 26 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
8452adb
Backport build and C# changes to 2.0 branch (#2434)
thhous-msft Feb 25, 2022
82278ab
Remove VN gtest suite (#2435) (#2436)
thhous-msft Feb 25, 2022
0fd4b83
Backport PGO and rust fixes to Ni (#2442)
thhous-msft Mar 1, 2022
6878d79
release/2.0 - Wrap CID Parameters in PREVIEW (#2447)
nibanks Mar 1, 2022
2969939
Fix dotnet generator (#2446) (#2450)
thhous-msft Mar 2, 2022
a19bc71
Fix possible infinite loop in priority stream scheduling (#2451) (#2452)
thhous-msft Mar 2, 2022
25b47a2
Extra Protection Around Stream Send Queue (#2463) (#2477)
nibanks Mar 7, 2022
c9aa6b3
Add cargo publish --dry-run to CI (#2476) (#2481)
nibanks Mar 7, 2022
87b21a7
release/2.0 CP - Fix Rust Issues #2485 (#2489)
nibanks Mar 9, 2022
4518964
release/2.0 - Disable Plugin Build (#2497)
nibanks Mar 9, 2022
ed646cc
Embed git commit hash into binary (#2494) (#2501)
nibanks Mar 10, 2022
7ba16f5
Fix kqueue timeout with shared ec mode (#2504) (#2510)
thhous-msft Mar 11, 2022
aab7246
release/2.0 - CP #2508, #2511, #2512 & #2513 (#2514)
nibanks Mar 12, 2022
e55841d
Backport 32 bit removal to Ni (#2528)
thhous-msft Mar 15, 2022
bbb5e31
2.0 - CP a Few Recent Fixes (#2544)
nibanks Mar 17, 2022
d1fbfc6
Update cargo version and script
nibanks Mar 18, 2022
ca3f276
release/2.0 CP - Support Building Release NuGet Packages (#2551) (#2554)
nibanks Mar 18, 2022
8ed8679
Accumulator logic for MAX_DATA updates (#2553) (#2555)
nibanks Mar 18, 2022
976f134
2.0 CP - [RUST] Implements stats v2 struct and missing stream events …
nibanks Mar 25, 2022
f6a5dc1
Stream Shutdown on Failure in Operation Cleanup (#2591) (#2594)
thhous-msft Mar 31, 2022
038f404
No Perf on Release Branches (#2596)
nibanks Mar 31, 2022
79b1105
CP release/2.0 - Linux Package and Infra Fixes (#2639)
nibanks Apr 13, 2022
9e75fb0
Backport correct signing profile to Ni (#2668)
thhous-msft Apr 29, 2022
3a46222
Disable XDP Builds on release/2.0 (#2698)
nibanks May 10, 2022
099c280
Support multiple expected certificate validation results in tests (#2…
anrossi Jun 10, 2022
3bf7bd7
Add missing values and variables
anrossi Jul 30, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .azure/OneBranch.Official.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@ trigger:
- main
- release/*
- msrc/*
tags:
include:
- v*

parameters: # parameters are shown up in ADO UI in a build queue time
- name: 'debug'
Expand Down Expand Up @@ -164,3 +167,6 @@ extends:
- build_uwp
jobs:
- template: .azure/obtemplates/build-nuget.yml@self
${{ if startsWith(variables['Build.SourceBranch'], 'refs/tags/') }}:
parameters:
release: true
123 changes: 27 additions & 96 deletions .azure/azure-pipelines.ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -73,12 +73,6 @@ stages:
displayName: Build Windows Drivers - Non Tested
dependsOn: []
jobs:
- template: ./templates/build-config-winkernel.yml
parameters:
arch: x86
- template: ./templates/build-config-winkernel.yml
parameters:
arch: arm
- template: ./templates/build-config-winkernel.yml
parameters:
arch: arm64
Expand Down Expand Up @@ -121,26 +115,6 @@ stages:
config: Release
extraName: 'static'
extraBuildArgs: -EnableTelemetryAsserts -Static -ExtraArtifactDir Static
- template: ./templates/build-config-user.yml
parameters:
image: windows-2019
platform: windows
arch: x64
tls: schannel
config: Release
extraName: 'xdp'
extraPrepareArgs: -Xdp
extraBuildArgs: -EnableTelemetryAsserts -UseXdp -ExtraArtifactDir xdp
- template: ./templates/build-config-user.yml
parameters:
image: windows-2019
platform: windows
arch: x64
tls: openssl
config: Release
extraName: 'xdp'
extraPrepareArgs: -Xdp
extraBuildArgs: -EnableTelemetryAsserts -UseXdp -ExtraArtifactDir xdp

- stage: build_windows_debug
displayName: Build Windows - Debug
Expand Down Expand Up @@ -499,54 +473,6 @@ stages:
image: ubuntu-latest
platform: linux

#
# Performance Tests
#

- stage: performance
displayName: Performance Testing
dependsOn:
- build_windows_release
- build_linux_release
- build_winkernel_release
jobs:
- template: ./templates/run-performance.yml
parameters:
pool: MsQuic-Win-Perf
platform: windows
localTls: schannel
remoteTls: schannel
- template: ./templates/run-performance.yml
parameters:
pool: MsQuic-Win-Perf
platform: windows
localTls: schannel
remoteTls: schannel
testTypes: 'Remote'
extraName: 'Kernel'
kernelMode: -Kernel
- template: ./templates/run-performance.yml
parameters:
pool: MsQuic-Win-Perf
platform: windows
localTls: openssl
remoteTls: openssl
- template: ./templates/run-performance.yml
parameters:
pool: MsQuic-Linux-Perf
platform: linux
localTls: openssl
remoteTls: openssl

- ${{ if not(eq(variables['Build.Reason'], 'Schedule')) }}:
- stage: perf_post_process
displayName: Perf Post Processing
condition: succeededOrFailed()
dependsOn:
- performance
jobs:
- template: ./templates/post-process-performance.yml

#
# Windows Release BVTs
#
Expand Down Expand Up @@ -848,25 +774,30 @@ stages:
# Distribution
#

- ${{ if not(eq(variables['Build.Reason'], 'Schedule')) }}:
- stage: distribution
displayName: Distribution
dependsOn:
- build_windows_release
- build_linux_release
- build_windows_debug
- build_linux_debug
- build_windows_nontest
- build_linux_nontest
- merge_darwin
jobs:
- template: ./templates/build-distribution.yml

- ${{ if not(eq(variables['Build.Reason'], 'Schedule')) }}:
- stage: nuget
displayName: Nuget
dependsOn:
- build_windows_release
- build_windows_nontest
jobs:
- template: ./templates/build-nuget.yml
- stage: distribution
displayName: Distribution
dependsOn:
- build_windows_release
- build_linux_release
- build_windows_debug
- build_linux_debug
- build_windows_nontest
- build_linux_nontest
- merge_darwin
jobs:
- template: ./templates/build-distribution.yml

- stage: test_distribution
displayName: Test Distribution
dependsOn:
- distribution
jobs:
- template: ./templates/test-distribution.yml

- stage: nuget
displayName: Nuget
dependsOn:
- build_windows_release
- build_windows_nontest
jobs:
- template: ./templates/build-nuget.yml
2 changes: 0 additions & 2 deletions .azure/azure-pipelines.plugins.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ trigger:
branches:
include:
- main
- release/*
paths:
include:
- .azure/*
Expand All @@ -18,7 +17,6 @@ pr:
branches:
include:
- main
- release/*
paths:
include:
- .azure/*
Expand Down
2 changes: 1 addition & 1 deletion .azure/azure-pipelines.qns.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ jobs:
${{ if eq(variables['Build.Reason'], 'BatchedCI') }}:
tags: |
latest
v2.0.0.$(Build.BuildId)
v2.0.3.$(Build.BuildId)
${{ if ne(variables['Build.Reason'], 'BatchedCI') }}:
tags: custom-$(Build.BuildId)
- template: .\templates\run-qns.yml
Expand Down
2 changes: 1 addition & 1 deletion .azure/obtemplates/build-linux-packages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,6 @@ jobs:
target: linux_build_container2
inputs:
command: 'sign'
signing_profile: 'CP-459159-pgpdetached'
signing_profile: 'CP-450779-pgpdetached'
files_to_sign: '**/*.rpm;**/*.deb'
search_root: '$(ob_outputDirectory)'
19 changes: 16 additions & 3 deletions .azure/obtemplates/build-nuget.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
# This template contains steps to merge all builds into a single set of files to distribute.

parameters:
release: false

jobs:
- job: nuget
displayName: Nuget
Expand Down Expand Up @@ -58,21 +61,31 @@ jobs:
inputs:
pwsh: false
filePath: scripts/package-nuget.ps1
arguments: -Tls openssl -UWP
${{ if eq(parameters.release, false) }}:
arguments: -Tls openssl -UWP
${{ if eq(parameters.release, true) }}:
arguments: -Tls openssl -UWP -ReleaseBuild

- task: PowerShell@2
displayName: Package Nuget
inputs:
pwsh: false
filePath: scripts/package-nuget.ps1
arguments: -Tls openssl
${{ if eq(parameters.release, false) }}:
arguments: -Tls openssl
${{ if eq(parameters.release, true) }}:
arguments: -Tls openssl -ReleaseBuild

- task: PowerShell@2
displayName: Package Nuget
inputs:
pwsh: false
filePath: scripts/package-nuget.ps1
arguments: -Tls schannel
${{ if eq(parameters.release, false) }}:
arguments: -Tls schannel
${{ if eq(parameters.release, true) }}:
arguments: -Tls schannel -ReleaseBuild


- task: onebranch.pipeline.signing@1
inputs:
Expand Down
6 changes: 0 additions & 6 deletions .azure/obtemplates/build-winkernel.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,6 @@ jobs:
- script: scripts\onebranch-build-kernel.cmd ${{ parameters.config }} x64
displayName: x64
target: windows_build_container2
- script: scripts\onebranch-build-kernel.cmd ${{ parameters.config }} x86
displayName: x86
target: windows_build_container2
- script: scripts\onebranch-build-kernel.cmd ${{ parameters.config }} ARM
displayName: ARM
target: windows_build_container2
- script: scripts\onebranch-build-kernel.cmd ${{ parameters.config }} ARM64
displayName: ARM64
target: windows_build_container2
2 changes: 1 addition & 1 deletion .azure/obtemplates/git-submit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,4 @@ jobs:
configPath: '$(Build.SourcesDirectory)/artifacts/package/GitCheckin.json' # the path to the GitCheckin.json config file.
artifactsDirectory: '$(Build.SourcesDirectory)/artifacts/package' # parent directory for the artifacts to submit to the destination repo.
prTimeOut: 5
paToken: '$(GIT_PAT)' # "build token" from the previous wiki section. Ensure this secret isn't stored as plaintext.
paToken: '$(VPACK_PAT)' # "build token" from the previous wiki section. Ensure this secret isn't stored as plaintext.
2 changes: 1 addition & 1 deletion .azure/obtemplates/push-vpack.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ jobs:
vpackToken: $(VPACK_PAT)
majorVer: 2
minorVer: 0
patchVer: 0
patchVer: 3
prereleaseVer: $(Build.BuildId)

- publish: $(XES_VPACKMANIFESTDIRECTORY)
Expand Down
4 changes: 2 additions & 2 deletions .azure/templates/build-config-winkernel.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
solution: msquic.kernel.sln
platform: ${{ parameters.arch }}
configuration: debug
msbuildArgs: /p:QUIC_VER_SUFFIX=-official /p:QUIC_VER_BUILD_ID=$(Build.BuildId)
msbuildArgs: /p:QUIC_VER_SUFFIX=-official /p:QUIC_VER_BUILD_ID=$(Build.BuildId) /p:QUIC_VER_GIT_HASH=$(Build.SourceVersion)

- task: VSBuild@1
displayName: Build Source Code (Release)
Expand All @@ -41,6 +41,6 @@ jobs:
solution: msquic.kernel.sln
platform: ${{ parameters.arch }}
configuration: release
msbuildArgs: /p:QUIC_VER_SUFFIX=-official /p:QUIC_VER_BUILD_ID=$(Build.BuildId)
msbuildArgs: /p:QUIC_VER_SUFFIX=-official /p:QUIC_VER_BUILD_ID=$(Build.BuildId) /p:QUIC_VER_GIT_HASH=$(Build.SourceVersion)

- template: ./upload-artifacts.yml
2 changes: 2 additions & 0 deletions .azure/templates/cargo.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,3 +32,5 @@ jobs:
displayName: Cargo build
- script: cargo test --all
displayName: Cargo test
- script: cargo publish --dry-run
displayName: Cargo Publish (dry run)
32 changes: 32 additions & 0 deletions .azure/templates/test-distribution.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
jobs:
- job: test_distribution
displayName: Test Distribution
variables:
- name: runCodesignValidationInjection
value: false
- name: skipComponentGovernanceDetection
value: true
pool:
vmImage: ubuntu-latest

steps:
- task: DownloadBuildArtifacts@0
displayName: Download Test
inputs:
artifactName: artifacts
itemPattern: artifacts/bin/linux/x64_Release_openssl/msquictest
downloadPath: $(Build.SourcesDirectory)
- task: DownloadBuildArtifacts@0
displayName: Download Package
inputs:
artifactName: distribution
itemPattern: distribution/*.deb
downloadPath: $(Build.SourcesDirectory)
- pwsh: |
sudo apt-add-repository ppa:lttng/stable-2.12
sudo apt-get update
sudo apt-get install -y lttng-tools
sudo dpkg -i $(Build.SourcesDirectory)/distribution/libmsquic_2.0.3_amd64.deb
- pwsh: |
chmod +x $(Build.SourcesDirectory)/artifacts/bin/linux/x64_Release_openssl/msquictest
$(Build.SourcesDirectory)/artifacts/bin/linux/x64_Release_openssl/msquictest --gtest_filter=ParameterValidation.ValidateApi
41 changes: 41 additions & 0 deletions .github/workflows/check-dotnet.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: CheckDotnet

on:
push:
branches:
- main
- release/*
pull_request:
branches:
- main
- release/*

permissions: read-all

jobs:
validate:
permissions:
contents: read # for actions/checkout to fetch code
name: Validate
runs-on: windows-latest
steps:
- name: Harden Runner
uses: step-security/harden-runner@bdb12b622a910dfdc99a31fdfe6f45a16bc287a4
with:
egress-policy: audit
- name: Setup .NET
uses: actions/setup-dotnet@9211491ffb35dd6a6657ca4f45d43dfe6e97c829
with:
dotnet-version: 6.0.x
- name: Checkout repository
uses: actions/checkout@629c2de402a417ea7690ca6ce3f33229e27606a5
- name: Prepare Machine
run: scripts/prepare-machine.ps1 -Configuration Dev
shell: pwsh
- name: Run DotNet Update
run: scripts/generate-dotnet.ps1
shell: pwsh
- name: Check for Changes
run: |
git add .
git --no-pager diff --exit-code HEAD
8 changes: 6 additions & 2 deletions .github/workflows/wan-perf.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ on:
push:
branches:
- main
- release/*
paths-ignore:
- .azure/*
- docs/*
Expand All @@ -18,7 +17,6 @@ on:
pull_request:
branches:
- main
- release/*
paths-ignore:
- .azure/*
- docs/*
Expand All @@ -30,6 +28,12 @@ on:
- Cargo.toml
- README.md

concurrency:
# Cancel any workflow currently in progress for the same PR.
# Allow running concurrently with any other commits.
group: wanperf-${{ github.event.pull_request.number || github.sha }}
cancel-in-progress: true

permissions: read-all

jobs:
Expand Down
Loading