From 1da198d18e495c08adb5691459da0b5fcfc7f160 Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Thu, 21 Nov 2024 19:22:43 +0100 Subject: [PATCH] GHA: disable building tests, apps, docs in dependencies Also: - for LibreSSL download the official source tarball instead of using the tagged Git repo and running the build script which merged the OpenBSD libressl repo into it. The latter method was also broken at the time of this commit. Build times: ``` before after aws-lc: 1m55s ~40s libressl: 1m16s ~1m20s openssl-tsan: 5m47s 3m43s openssl: 6m38s 4m49s quictls-no-deprecated: 2m28s 1m51s quictls: ~6m08s 4m16s wolfssl-all: 1m36s 52s wolfssl-master: 1m34s 53s wolfssl-opensslextra: 50s 32s ``` LibreSSL build options are unchanged, but by using the tarball now instead of two repos and a generator script, it also should be faster, and more stable. Closes #15622 --- .github/workflows/http3-linux.yml | 7 ++++--- .github/workflows/linux.yml | 18 ++++++++++-------- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/.github/workflows/http3-linux.yml b/.github/workflows/http3-linux.yml index e4301f03e7..da6f25e273 100644 --- a/.github/workflows/http3-linux.yml +++ b/.github/workflows/http3-linux.yml @@ -175,7 +175,7 @@ jobs: cd $HOME git clone --quiet --depth=1 -b openssl-${{ env.quictls-version }}-quic1 https://github.com/quictls/openssl quictls cd quictls - ./config no-deprecated --prefix=$PWD/build --libdir=lib + ./config no-deprecated --prefix=$PWD/build --libdir=lib no-makedepend no-apps no-docs no-tests make make -j1 install_sw name: 'build quictls' @@ -206,7 +206,8 @@ jobs: git fetch origin --depth=1 ${{ env.wolfssl-version }} git checkout ${{ env.wolfssl-version }} ./autogen.sh - ./configure --disable-dependency-tracking --enable-all --enable-quic --prefix=$PWD/build + ./configure --disable-dependency-tracking --enable-all --enable-quic \ + --disable-benchmark --disable-crypttests --disable-examples --prefix=$PWD/build make make install name: 'build wolfssl' @@ -413,7 +414,7 @@ jobs: run: | git clone --quiet --depth=1 -b openssl-${{ env.openssl-version }} https://github.com/openssl/openssl cd openssl - ./config --prefix=$HOME/openssl/build + ./config --prefix=$HOME/openssl/build no-makedepend no-apps no-docs no-tests make -j1 install_sw cat exporters/openssl.pc diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index e75536b85d..3eae965a73 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -363,9 +363,9 @@ jobs: - name: 'build libressl' if: contains(matrix.build.install_steps, 'libressl') && steps.cache-libressl.outputs.cache-hit != 'true' run: | - git clone --quiet --depth=1 -b v${{ env.libressl-version }} https://github.com/libressl-portable/portable.git libressl-git - cd libressl-git - ./autogen.sh + curl -LOsSf --retry 6 --retry-connrefused --max-time 999 https://github.com/libressl/portable/releases/download/v${{ env.libressl-version }}/libressl-${{ env.libressl-version }}.tar.gz + tar -xzf libressl-${{ env.libressl-version }}.tar.gz + cd libressl-${{ env.libressl-version }} ./configure --disable-dependency-tracking --prefix=$HOME/libressl make install @@ -386,7 +386,8 @@ jobs: tar -xzf v${{ env.wolfssl-version }}-stable.tar.gz cd wolfssl-${{ env.wolfssl-version }}-stable ./autogen.sh - ./configure --disable-dependency-tracking --enable-tls13 --enable-harden --prefix=$HOME/wolfssl-all --enable-all + ./configure --disable-dependency-tracking --enable-tls13 --enable-harden --enable-all \ + --disable-benchmark --disable-crypttests --disable-examples --prefix=$HOME/wolfssl-all make install - name: 'cache wolfssl (opensslextra)' @@ -406,7 +407,8 @@ jobs: tar -xzf v${{ env.wolfssl-version }}-stable.tar.gz cd wolfssl-${{ env.wolfssl-version }}-stable ./autogen.sh - ./configure --disable-dependency-tracking --enable-tls13 --enable-harden --prefix=$HOME/wolfssl-opensslextra --enable-opensslextra + ./configure --disable-dependency-tracking --enable-tls13 --enable-harden --enable-opensslextra \ + --disable-benchmark --disable-crypttests --disable-examples --prefix=$HOME/wolfssl-opensslextra make install - name: 'cache mbedtls' @@ -447,7 +449,7 @@ jobs: run: | git clone --quiet --depth=1 -b openssl-${{ env.openssl-version }} https://github.com/openssl/openssl cd openssl - CC="clang" CFLAGS="-fsanitize=thread" LDFLAGS="-fsanitize=thread" ./config --prefix=$HOME/openssl --libdir=lib + CC="clang" CFLAGS="-fsanitize=thread" LDFLAGS="-fsanitize=thread" ./config --prefix=$HOME/openssl --libdir=lib no-makedepend no-apps no-docs no-tests make -j1 install_sw - name: 'cache quictls' @@ -465,7 +467,7 @@ jobs: run: | git clone --quiet --depth=1 -b openssl-${{ env.quictls-version }}-quic1 https://github.com/quictls/openssl cd openssl - ./config --prefix=$HOME/quictls --libdir=lib + ./config --prefix=$HOME/quictls --libdir=lib no-makedepend no-apps no-docs no-tests make -j1 install_sw - name: 'cache msh3' @@ -505,7 +507,7 @@ jobs: tar xzf v${{ env.awslc-version }}.tar.gz mkdir aws-lc-${{ env.awslc-version }}-build cd aws-lc-${{ env.awslc-version }}-build - cmake -G Ninja -DCMAKE_INSTALL_PREFIX=$HOME/awslc ../aws-lc-${{ env.awslc-version }} + cmake -G Ninja -DCMAKE_INSTALL_PREFIX=$HOME/awslc ../aws-lc-${{ env.awslc-version }} -DBUILD_TOOL=OFF -DBUILD_TESTING=OFF cmake --build . cmake --install . -- 2.47.3