Skip to content

Commit 0c82449

Browse files
committed
Merge branch 'main' into seera-main
2 parents c1be4ec + bf401cb commit 0c82449

75 files changed

Lines changed: 4148 additions & 4934 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.azure/OneBranch.Official.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -167,13 +167,11 @@ extends:
167167
config: Release
168168
kernel: "kernel6_8"
169169
tls: quictls
170-
xdp: "-UseXdp"
171170
- template: .azure/obtemplates/build-linux.yml@self
172171
parameters:
173172
config: Debug
174173
kernel: "kernel6_8"
175174
tls: quictls
176-
xdp: "-UseXdp"
177175

178176
- stage: package_linux
179177
displayName: Package Linux

.azure/OneBranch.Publish.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ parameters:
4040
- microsoft-ubuntu-lunar-prod-apt # 23.04 6.2
4141
- microsoft-ubuntu-mantic-prod-apt # 23.10 6.5
4242
- microsoft-debian-bookworm-prod-apt # 12 6.1
43-
# built on ubuntu 24.04 quictls XDP
43+
# built on ubuntu 24.04 quictls
4444
- name: kernel6_8
4545
type: object
4646
default:

.azure/OneBranch.PullRequest.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -163,13 +163,11 @@ extends:
163163
config: Release
164164
kernel: "kernel6_8"
165165
tls: quictls
166-
xdp: "-UseXdp"
167166
- template: .azure/obtemplates/build-linux.yml@self
168167
parameters:
169168
config: Debug
170169
kernel: "kernel6_8"
171170
tls: quictls
172-
xdp: "-UseXdp"
173171

174172
- stage: package_linux
175173
displayName: Package Linux

.azure/obtemplates/build-linux.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ parameters:
33
tls: 'quictls'
44
platform: 'linux'
55
kernel: 'kernel5_15'
6-
xdp: ''
76

87
jobs:
98
- job: ${{ parameters.kernel }}_${{ parameters.config }} # this job name becomes artifact suffix in the build pipeline
@@ -34,7 +33,7 @@ jobs:
3433
inputs:
3534
pwsh: true
3635
filePath: scripts/build.ps1
37-
arguments: -Tls ${{ parameters.tls }} -Config ${{ parameters.config }} -Platform ${{ parameters.platform }} ${{ parameters.xdp }} -Arch x64 -CI -UseSystemOpenSSLCrypto -OneBranch -OfficialRelease
36+
arguments: -Tls ${{ parameters.tls }} -Config ${{ parameters.config }} -Platform ${{ parameters.platform }} -Arch x64 -CI -UseSystemOpenSSLCrypto -OneBranch -OfficialRelease
3837
- task: PowerShell@2
3938
displayName: arm64
4039
${{ if eq(parameters.kernel, 'kernel5_15') }}:

.docker/ubuntu-22.04/Dockerfile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Stage 1: Base image
2-
FROM ubuntu:22.04@sha256:3ba65aa20f86a0fad9df2b2c259c613df006b2e6d0bfcc8a146afb8c525a9751 AS base
2+
FROM ubuntu:22.04@sha256:eb29ed27b0821dca09c2e28b39135e185fc1302036427d5f4d70a41ce8fd7659 AS base
33

44
LABEL org.opencontainers.image.source=https://github.com/microsoft/msquic
55

@@ -94,6 +94,7 @@ RUN echo $' \n\
9494
deb [arch=armhf,arm64] http://ports.ubuntu.com/ jammy main restricted universe multiverse \n\
9595
deb [arch=armhf,arm64] http://ports.ubuntu.com/ jammy-updates main restricted universe multiverse \n\
9696
deb [arch=armhf,arm64] http://ports.ubuntu.com/ jammy-backports main restricted universe multiverse \n\
97+
deb [arch=armhf,arm64] http://ports.ubuntu.com/ jammy-security main restricted universe multiverse \n\
9798
' > /etc/apt/sources.list.d/arm-cross-compile-sources.list
9899

99100
RUN apt-get update \

.docker/ubuntu-24.04/Dockerfile

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Stage 1: Base image
2-
FROM ubuntu:24.04@sha256:d1e2e92c075e5ca139d51a140fff46f84315c0fdce203eab2807c7e495eff4f9 AS base
2+
FROM ubuntu:24.04@sha256:186072bba1b2f436cbb91ef2567abca677337cfc786c86e107d25b7072feef0c AS base
33

44
LABEL org.opencontainers.image.source=https://github.com/microsoft/msquic
55

@@ -55,7 +55,6 @@ RUN wget -q https://launchpad.net/ubuntu/+archive/primary/+files/libicu72_72.1-3
5555
RUN git config --global safe.directory '*'
5656

5757
# Stage 2: dependencies for cross-build.
58-
# ubuntu 24.04 can install both xdp and arm dependencies
5958
FROM base AS cross-build
6059

6160
RUN apt-get update -y && apt-get install --no-install-recommends -y \
@@ -73,7 +72,7 @@ RUN apt-get update -y && apt-get install --no-install-recommends -y \
7372
libbpf-dev \
7473
&& rm -rf /var/lib/apt/lists/*
7574

76-
RUN apt-get update && apt-get install -y \
75+
RUN apt-get update -y && apt-get install --no-install-recommends -y \
7776
gcc-arm-linux-gnueabihf \
7877
g++-arm-linux-gnueabihf \
7978
binutils-arm-linux-gnueabihf \
@@ -85,15 +84,21 @@ RUN apt-get update && apt-get install -y \
8584
RUN dpkg --add-architecture arm64 && \
8685
dpkg --add-architecture armhf
8786

88-
RUN mv /etc/apt/sources.list /etc/apt/sources.list.int && \
87+
# For cross-compilation, we need amd64 packages from the default Ubuntu repos and
88+
# ARM packages from ports.ubuntu.com. To prevent apt from trying to resolve ARM
89+
# packages against the default (amd64-only) repos, we restrict all default sources
90+
# to amd64. On 24.04, the default repos are defined in ubuntu.sources (DEB822
91+
# format), which doesn't exist on 22.04, so this line is only needed here.
92+
RUN sed -i '/^Types:/a Architectures: amd64' /etc/apt/sources.list.d/ubuntu.sources && \
93+
mv /etc/apt/sources.list /etc/apt/sources.list.int && \
8994
cat /etc/apt/sources.list.int | grep "^deb" | sed 's/deb /deb [arch=amd64] /g' > /etc/apt/sources.list && \
90-
rm /etc/apt/sources.list.int && \
91-
rm /etc/apt/sources.list.d/ubuntu.sources
95+
rm /etc/apt/sources.list.int
9296

9397
RUN echo $' \n\
9498
deb [arch=armhf,arm64] http://ports.ubuntu.com/ noble main restricted universe multiverse \n\
9599
deb [arch=armhf,arm64] http://ports.ubuntu.com/ noble-updates main restricted universe multiverse \n\
96100
deb [arch=armhf,arm64] http://ports.ubuntu.com/ noble-backports main restricted universe multiverse \n\
101+
deb [arch=armhf,arm64] http://ports.ubuntu.com/ noble-security main restricted universe multiverse \n\
97102
' > /etc/apt/sources.list.d/arm-cross-compile-sources.list
98103

99104
RUN apt-get update \

.github/copilot-instructions.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,10 @@ The `check-dotnet.yml` CI workflow validates the generated .NET interop files ar
123123
- Public API is in `src/inc/msquic.h`. C++ wrapper in `src/inc/msquic.hpp`.
124124
- Test infrastructure uses GoogleTest. Test cases in `src/test/lib/`, runner in `src/test/bin/`.
125125

126+
## Pull Requests
127+
128+
When creating pull requests, always follow the PR template at `.github/pull_request_template.md`.
129+
126130
## Update These Instructions
127131

128132
As you learn the codebase, update this file with any important information you think would help future contributors. This is the primary source of truth for how to work with the codebase, so keep it accurate and comprehensive.

.github/workflows/build-reuse-darwin-framework.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -64,12 +64,12 @@ jobs:
6464
repository: ${{ inputs.repo}}
6565
ref: ${{ inputs.ref }}
6666
- name: Download Build Artifacts (x64)
67-
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3
67+
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c
6868
with:
6969
name: ${{ inputs.config }}-macos-macos-15-x64-${{ inputs.tls }}${{ inputs.static }}
7070
path: artifacts
7171
- name: Download Build Artifacts (arm64)
72-
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3
72+
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c
7373
with:
7474
name: ${{ inputs.config }}-macos-macos-15-arm64-${{ inputs.tls }}${{ inputs.static }}
7575
path: artifacts
@@ -101,7 +101,7 @@ jobs:
101101
repository: ${{ inputs.repo}}
102102
ref: ${{ inputs.ref }}
103103
- name: Download Build Artifacts (x64)
104-
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3
104+
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c
105105
with:
106106
name: ${{ inputs.config }}-${{ matrix.vec.plat }}-macos-15-${{ matrix.vec.arch }}-${{ inputs.tls }}${{ inputs.static }}
107107
path: artifacts
@@ -125,17 +125,17 @@ jobs:
125125
repository: ${{ inputs.repo}}
126126
ref: ${{ inputs.ref }}
127127
- name: Download Build Artifacts (iOS x64)
128-
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3
128+
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c
129129
with:
130130
name: Framework-${{ inputs.config }}-ios-macos-15-x64-${{ inputs.tls }}
131131
path: artifacts
132132
- name: Download Build Artifacts (iOS arm64)
133-
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3
133+
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c
134134
with:
135135
name: Framework-${{ inputs.config }}-ios-macos-15-arm64-${{ inputs.tls }}
136136
path: artifacts
137137
- name: Download Build Artifacts (MacOS Universal)
138-
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3
138+
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c
139139
with:
140140
name: Framework-${{ inputs.config }}-macos-macos-15-universal-${{ inputs.tls }}
141141
path: artifacts

.github/workflows/build-reuse-unix.yml

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -69,10 +69,6 @@ on:
6969
required: false
7070
default: ''
7171
type: string
72-
xdp:
73-
required: false
74-
default: ''
75-
type: string
7672
iouring:
7773
required: false
7874
default: ''
@@ -92,7 +88,7 @@ permissions:
9288
jobs:
9389
build-unix-reuse:
9490
name: Build
95-
runs-on: ${{ inputs.os == 'ubuntu-20.04' && fromJson('[''self-hosted'', ''1ES.Pool=ubuntu-20.04-forbuild'']') || inputs.os }}
91+
runs-on: ${{ inputs.os == 'ubuntu-20.04' && fromJson(format('[''self-hosted'', ''1ES.Pool=ubuntu-20.04-forbuild'', ''JobId=build-unix-{0}-{1}-{2}-{3}-{4}-{5}'']', inputs.config, inputs.arch, inputs.tls, github.run_id, github.run_number, github.run_attempt)) || inputs.os }}
9692
container:
9793
image: ${{ (inputs.plat == 'linux' && format('ghcr.io/microsoft/msquic/linux-build-xcomp:{0}-cross', inputs.os)) || '' }}
9894
steps:
@@ -112,17 +108,17 @@ jobs:
112108
- name: Build For Test
113109
if: inputs.build == '-Test'
114110
shell: pwsh
115-
run: scripts/build.ps1 -Config ${{ inputs.config }} -Platform ${{ inputs.plat }} -Arch ${{ inputs.arch }} -Tls ${{ inputs.tls }} -DisablePerf ${{ inputs.static }} ${{ inputs.clang }} ${{ inputs.systemcrypto }} ${{ inputs.codecheck }} ${{ inputs.sanitize }} ${{ inputs.xdp }} ${{ inputs.iouring }} -OneBranch
111+
run: scripts/build.ps1 -Config ${{ inputs.config }} -Platform ${{ inputs.plat }} -Arch ${{ inputs.arch }} -Tls ${{ inputs.tls }} -DisablePerf ${{ inputs.static }} ${{ inputs.clang }} ${{ inputs.systemcrypto }} ${{ inputs.codecheck }} ${{ inputs.sanitize }} ${{ inputs.iouring }} -OneBranch
116112
- name: Build For Perf
117113
if: inputs.build == '-Perf'
118114
shell: pwsh
119-
run: scripts/build.ps1 -Config ${{ inputs.config }} -Platform ${{ inputs.plat }} -Arch ${{ inputs.arch }} -Tls ${{ inputs.tls }} -DisableTools -DisableTest ${{ inputs.static }} ${{ inputs.clang }} ${{ inputs.systemcrypto }} ${{ inputs.codecheck }} ${{ inputs.sanitize }} ${{ inputs.xdp }} ${{ inputs.iouring }}
115+
run: scripts/build.ps1 -Config ${{ inputs.config }} -Platform ${{ inputs.plat }} -Arch ${{ inputs.arch }} -Tls ${{ inputs.tls }} -DisableTools -DisableTest ${{ inputs.static }} ${{ inputs.clang }} ${{ inputs.systemcrypto }} ${{ inputs.codecheck }} ${{ inputs.sanitize }} ${{ inputs.iouring }}
120116
- name: Build
121117
if: inputs.build == ''
122118
shell: pwsh
123-
run: scripts/build.ps1 -Config ${{ inputs.config }} -Platform ${{ inputs.plat }} -Arch ${{ inputs.arch }} -Tls ${{ inputs.tls }} ${{ inputs.static }} ${{ inputs.clang }} ${{ inputs.systemcrypto }} ${{ inputs.codecheck }} ${{ inputs.sanitize }} ${{ inputs.xdp }} ${{ inputs.iouring }} -OneBranch
119+
run: scripts/build.ps1 -Config ${{ inputs.config }} -Platform ${{ inputs.plat }} -Arch ${{ inputs.arch }} -Tls ${{ inputs.tls }} ${{ inputs.static }} ${{ inputs.clang }} ${{ inputs.systemcrypto }} ${{ inputs.codecheck }} ${{ inputs.sanitize }} ${{ inputs.iouring }} -OneBranch
124120
- name: Upload build artifacts
125121
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f
126122
with:
127-
name: ${{ inputs.config }}-${{ inputs.plat }}-${{ inputs.os }}-${{ inputs.arch }}-${{ inputs.tls }}${{ inputs.static }}${{ inputs.clang }}${{ inputs.systemcrypto }}${{ inputs.codecheck }}${{ inputs.sanitize }}${{ inputs.xdp }}${{ inputs.iouring }}${{ inputs.build }}
123+
name: ${{ inputs.config }}-${{ inputs.plat }}-${{ inputs.os }}-${{ inputs.arch }}-${{ inputs.tls }}${{ inputs.static }}${{ inputs.clang }}${{ inputs.systemcrypto }}${{ inputs.codecheck }}${{ inputs.sanitize }}${{ inputs.iouring }}${{ inputs.build }}
128124
path: artifacts

.github/workflows/build-reuse-win.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ jobs:
8383
repository: ${{ inputs.repo}}
8484
ref: ${{ inputs.ref }}
8585
- name: Install Perl
86-
uses: shogo82148/actions-setup-perl@b6cfc127f1b0a63ac98797800f641494d80f42f8
86+
uses: shogo82148/actions-setup-perl@5a2f3b681f2e2fa0db6cc52c7608d9916527aa58
8787
with:
8888
perl-version: '5.34'
8989
- name: Install NASM

0 commit comments

Comments
 (0)