4747 QUICTLS_VERSION : 3.3.0
4848 # renovate: datasource=github-tags depName=libressl/portable versioning=semver registryUrl=https://github.com
4949 LIBRESSL_VERSION : 4.1.0
50+ # renovate: datasource=github-tags depName=awslabs/aws-lc versioning=semver registryUrl=https://github.com
51+ AWSLC_VERSION : 1.58.0
52+ # renovate: datasource=github-tags depName=google/boringssl versioning=semver registryUrl=https://github.com
53+ BORINGSSL_VERSION : 0.20250818.0
5054 # renovate: datasource=github-tags depName=gnutls/gnutls versioning=semver registryUrl=https://github.com
5155 GNUTLS_VERSION : 3.8.10
5256 # renovate: datasource=github-tags depName=wolfSSL/wolfssl versioning=semver extractVersion=^v?(?<version>.+)-stable$ registryUrl=https://github.com
5357 WOLFSSL_VERSION : 5.8.2
5458 # renovate: datasource=github-tags depName=ngtcp2/nghttp3 versioning=semver registryUrl=https://github.com
5559 NGHTTP3_VERSION : 1.11.0
5660 # renovate: datasource=github-tags depName=ngtcp2/ngtcp2 versioning=semver registryUrl=https://github.com
57- NGTCP2_VERSION : 1.15.0
61+ NGTCP2_VERSION : 1.15.1
5862 # renovate: datasource=github-tags depName=nghttp2/nghttp2 versioning=semver registryUrl=https://github.com
5963 NGHTTP2_VERSION : 1.66.0
6064 # renovate: datasource=github-tags depName=cloudflare/quiche versioning=semver registryUrl=https://github.com
8488 path : ~/libressl/build
8589 key : ${{ runner.os }}-http3-build-${{ env.cache-name }}-${{ env.LIBRESSL_VERSION }}
8690
91+ - name : ' cache awslc'
92+ uses : actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4
93+ id : cache-awslc
94+ env :
95+ cache-name : cache-awslc
96+ with :
97+ path : ~/awslc/build
98+ key : ${{ runner.os }}-http3-build-${{ env.cache-name }}-${{ env.AWSLC_VERSION }}
99+
100+ - name : ' cache boringssl'
101+ uses : actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4
102+ id : cache-boringssl
103+ env :
104+ cache-name : cache-boringssl
105+ with :
106+ path : ~/boringssl/build
107+ key : ${{ runner.os }}-http3-build-${{ env.cache-name }}-${{ env.BORINGSSL_VERSION }}
108+
87109 - name : ' cache quictls'
88110 uses : actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4
89111 id : cache-quictls-no-deprecated
@@ -127,7 +149,16 @@ jobs:
127149 cache-name : cache-ngtcp2
128150 with :
129151 path : ~/ngtcp2/build
130- key : ${{ runner.os }}-http3-build-${{ env.cache-name }}-${{ env.NGTCP2_VERSION }}-${{ env.OPENSSL_VERSION }}-${{ env.LIBRESSL_VERSION }}-${{ env.QUICTLS_VERSION }}-${{ env.GNUTLS_VERSION }}-${{ env.WOLFSSL_VERSION }}
152+ key : ${{ runner.os }}-http3-build-${{ env.cache-name }}-${{ env.NGTCP2_VERSION }}-${{ env.OPENSSL_VERSION }}-${{ env.LIBRESSL_VERSION }}-${{ env.AWSLC_VERSION }}-${{ env.QUICTLS_VERSION }}-${{ env.GNUTLS_VERSION }}-${{ env.WOLFSSL_VERSION }}
153+
154+ - name : ' cache ngtcp2 boringssl'
155+ uses : actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4
156+ id : cache-ngtcp2-boringssl
157+ env :
158+ cache-name : cache-ngtcp2-boringssl
159+ with :
160+ path : ~/ngtcp2-boringssl/build
161+ key : ${{ runner.os }}-http3-build-${{ env.cache-name }}-${{ env.NGTCP2_VERSION }}-${{ env.BORINGSSL_VERSION }}
131162
132163 - name : ' cache nghttp2'
133164 uses : actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4
@@ -142,11 +173,14 @@ jobs:
142173 if : >-
143174 ${{ steps.cache-openssl-http3.outputs.cache-hit != 'true' ||
144175 steps.cache-libressl.outputs.cache-hit != 'true' ||
176+ steps.cache-awslc.outputs.cache-hit != 'true' ||
177+ steps.cache-boringssl.outputs.cache-hit != 'true' ||
145178 steps.cache-quictls-no-deprecated.outputs.cache-hit != 'true' ||
146179 steps.cache-gnutls.outputs.cache-hit != 'true' ||
147180 steps.cache-wolfssl.outputs.cache-hit != 'true' ||
148181 steps.cache-nghttp3.outputs.cache-hit != 'true' ||
149182 steps.cache-ngtcp2.outputs.cache-hit != 'true' ||
183+ steps.cache-ngtcp2-boringssl.outputs.cache-hit != 'true' ||
150184 steps.cache-nghttp2.outputs.cache-hit != 'true' }}
151185
152186 run : echo 'needs-build=true' >> "$GITHUB_OUTPUT"
@@ -188,6 +222,28 @@ jobs:
188222 cmake --build .
189223 cmake --install .
190224
225+ - name : ' build awslc'
226+ if : ${{ steps.cache-awslc.outputs.cache-hit != 'true' }}
227+ run : |
228+ cd ~
229+ curl --disable --fail --silent --show-error --connect-timeout 15 --max-time 120 --retry 6 --retry-connrefused \
230+ --location "https://github.com/awslabs/aws-lc/archive/refs/tags/v${AWSLC_VERSION}.tar.gz" | tar -xz
231+ cd "aws-lc-${AWSLC_VERSION}"
232+ cmake -B . -G Ninja -DBUILD_SHARED_LIBS=ON -DBUILD_TOOL=OFF -DBUILD_TESTING=OFF -DCMAKE_INSTALL_PREFIX=/home/runner/awslc/build
233+ cmake --build .
234+ cmake --install .
235+
236+ - name : ' build boringssl'
237+ if : ${{ steps.cache-boringssl.outputs.cache-hit != 'true' }}
238+ run : |
239+ mkdir boringssl-src
240+ cd boringssl-src
241+ curl --disable --fail --silent --show-error --connect-timeout 15 --max-time 120 --retry 6 --retry-connrefused \
242+ "https://boringssl.googlesource.com/boringssl/+archive/${BORINGSSL_VERSION}.tar.gz" | tar -xz
243+ cmake -B . -G Ninja -DBUILD_SHARED_LIBS=ON -DBUILD_TESTING=OFF -DCMAKE_INSTALL_PREFIX=/home/runner/boringssl/build
244+ cmake --build .
245+ cmake --install .
246+
191247 - name : ' build quictls'
192248 if : ${{ steps.cache-quictls-no-deprecated.outputs.cache-hit != 'true' }}
193249 run : |
@@ -238,7 +294,7 @@ jobs:
238294
239295 - name : ' build ngtcp2'
240296 if : ${{ steps.cache-ngtcp2.outputs.cache-hit != 'true' }}
241- # building 3 times to get crypto libs for ossl, libressl and quictls installed
297+ # building 3 times to get crypto libs for ossl, libressl, quictls and awslc installed
242298 run : |
243299 cd ~
244300 git clone --quiet --depth=1 -b "v${NGTCP2_VERSION}" https://github.com/ngtcp2/ngtcp2
@@ -254,7 +310,22 @@ jobs:
254310 make clean
255311 ./configure --disable-dependency-tracking --prefix="$PWD"/build \
256312 PKG_CONFIG_PATH=/home/runner/openssl/build/lib/pkgconfig:/home/runner/gnutls/build/lib/pkgconfig:/home/runner/wolfssl/build/lib/pkgconfig \
257- --enable-lib-only --with-openssl --with-gnutls --with-wolfssl
313+ --enable-lib-only --with-openssl --with-gnutls --with-wolfssl --with-boringssl \
314+ BORINGSSL_LIBS='-L/home/runner/awslc/build/lib -lssl -lcrypto' \
315+ BORINGSSL_CFLAGS='-I/home/runner/awslc/build/include'
316+ make install
317+
318+ - name : ' build ngtcp2 boringssl'
319+ if : ${{ steps.cache-ngtcp2-boringssl.outputs.cache-hit != 'true' }}
320+ run : |
321+ cd ~
322+ git clone --quiet --depth=1 -b "v${NGTCP2_VERSION}" https://github.com/ngtcp2/ngtcp2 ngtcp2-boringssl
323+ cd ngtcp2-boringssl
324+ autoreconf -fi
325+ ./configure --disable-dependency-tracking --prefix="$PWD"/build \
326+ --enable-lib-only --with-openssl=no --with-boringssl \
327+ BORINGSSL_LIBS='-L/home/runner/boringssl/build/lib -lssl -lcrypto' \
328+ BORINGSSL_CFLAGS='-I/home/runner/boringssl/build/include'
258329 make install
259330
260331 - name : ' build nghttp2'
@@ -313,6 +384,36 @@ jobs:
313384 -DOPENSSL_ROOT_DIR=/home/runner/libressl/build
314385 -DUSE_NGTCP2=ON -DCURL_DISABLE_NTLM=ON
315386
387+ - name : ' awslc'
388+ install_steps : skipall
389+ PKG_CONFIG_PATH : /home/runner/awslc/build/lib/pkgconfig:/home/runner/nghttp3/build/lib/pkgconfig:/home/runner/ngtcp2/build/lib/pkgconfig:/home/runner/nghttp2/build/lib/pkgconfig
390+ configure : >-
391+ LDFLAGS=-Wl,-rpath,/home/runner/awslc/build/lib
392+ --with-ngtcp2 --disable-ntlm
393+ --with-openssl=/home/runner/awslc/build --enable-ssls-export
394+
395+ - name : ' awslc'
396+ PKG_CONFIG_PATH : /home/runner/awslc/build/lib/pkgconfig:/home/runner/nghttp3/build/lib/pkgconfig:/home/runner/ngtcp2/build/lib/pkgconfig:/home/runner/nghttp2/build/lib/pkgconfig
397+ generate : >-
398+ -DOPENSSL_ROOT_DIR=/home/runner/awslc/build -DBUILD_SHARED_LIBS=OFF
399+ -DUSE_NGTCP2=ON -DCURL_DISABLE_NTLM=ON
400+ -DCMAKE_UNITY_BUILD=ON
401+
402+ - name : ' boringssl'
403+ install_steps : skipall
404+ PKG_CONFIG_PATH : /home/runner/boringssl/build/lib/pkgconfig:/home/runner/nghttp3/build/lib/pkgconfig:/home/runner/ngtcp2-boringssl/build/lib/pkgconfig:/home/runner/nghttp2/build/lib/pkgconfig
405+ configure : >-
406+ LDFLAGS=-Wl,-rpath,/home/runner/boringssl/build/lib
407+ --with-ngtcp2 --disable-ntlm
408+ --with-openssl=/home/runner/boringssl/build --enable-ssls-export
409+
410+ - name : ' boringssl'
411+ PKG_CONFIG_PATH : /home/runner/boringssl/build/lib/pkgconfig:/home/runner/nghttp3/build/lib/pkgconfig:/home/runner/ngtcp2-boringssl/build/lib/pkgconfig:/home/runner/nghttp2/build/lib/pkgconfig
412+ generate : >-
413+ -DOPENSSL_ROOT_DIR=/home/runner/boringssl/build -DBUILD_SHARED_LIBS=OFF
414+ -DUSE_NGTCP2=ON -DCURL_DISABLE_NTLM=ON
415+ -DCMAKE_UNITY_BUILD=ON
416+
316417 - name : ' quictls'
317418 install_steps : skipall
318419 PKG_CONFIG_PATH : /home/runner/quictls/build/lib/pkgconfig:/home/runner/nghttp3/build/lib/pkgconfig:/home/runner/ngtcp2/build/lib/pkgconfig:/home/runner/nghttp2/build/lib/pkgconfig
@@ -428,6 +529,26 @@ jobs:
428529 key : ${{ runner.os }}-http3-build-${{ env.cache-name }}-${{ env.LIBRESSL_VERSION }}
429530 fail-on-cache-miss : true
430531
532+ - name : ' cache awslc'
533+ uses : actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4
534+ id : cache-awslc
535+ env :
536+ cache-name : cache-awslc
537+ with :
538+ path : ~/awslc/build
539+ key : ${{ runner.os }}-http3-build-${{ env.cache-name }}-${{ env.AWSLC_VERSION }}
540+ fail-on-cache-miss : true
541+
542+ - name : ' cache boringssl'
543+ uses : actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4
544+ id : cache-boringssl
545+ env :
546+ cache-name : cache-boringssl
547+ with :
548+ path : ~/boringssl/build
549+ key : ${{ runner.os }}-http3-build-${{ env.cache-name }}-${{ env.BORINGSSL_VERSION }}
550+ fail-on-cache-miss : true
551+
431552 - name : ' cache quictls'
432553 uses : actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4
433554 id : cache-quictls-no-deprecated
@@ -477,7 +598,17 @@ jobs:
477598 cache-name : cache-ngtcp2
478599 with :
479600 path : ~/ngtcp2/build
480- key : ${{ runner.os }}-http3-build-${{ env.cache-name }}-${{ env.NGTCP2_VERSION }}-${{ env.OPENSSL_VERSION }}-${{ env.LIBRESSL_VERSION }}-${{ env.QUICTLS_VERSION }}-${{ env.GNUTLS_VERSION }}-${{ env.WOLFSSL_VERSION }}
601+ key : ${{ runner.os }}-http3-build-${{ env.cache-name }}-${{ env.NGTCP2_VERSION }}-${{ env.OPENSSL_VERSION }}-${{ env.LIBRESSL_VERSION }}-${{ env.AWSLC_VERSION }}-${{ env.QUICTLS_VERSION }}-${{ env.GNUTLS_VERSION }}-${{ env.WOLFSSL_VERSION }}
602+ fail-on-cache-miss : true
603+
604+ - name : ' cache ngtcp2 boringssl'
605+ uses : actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4
606+ id : cache-ngtcp2-boringssl
607+ env :
608+ cache-name : cache-ngtcp2-boringssl
609+ with :
610+ path : ~/ngtcp2-boringssl/build
611+ key : ${{ runner.os }}-http3-build-${{ env.cache-name }}-${{ env.NGTCP2_VERSION }}-${{ env.BORINGSSL_VERSION }}
481612 fail-on-cache-miss : true
482613
483614 - name : ' cache nghttp2'
0 commit comments