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
This commit is contained in:
Viktor Szakats 2024-11-21 19:22:43 +01:00
parent f153b4bfa0
commit 1da198d18e
No known key found for this signature in database
GPG Key ID: B5ABD165E2AEF201
2 changed files with 14 additions and 11 deletions

View File

@ -175,7 +175,7 @@ jobs:
cd $HOME cd $HOME
git clone --quiet --depth=1 -b openssl-${{ env.quictls-version }}-quic1 https://github.com/quictls/openssl quictls git clone --quiet --depth=1 -b openssl-${{ env.quictls-version }}-quic1 https://github.com/quictls/openssl quictls
cd 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
make -j1 install_sw make -j1 install_sw
name: 'build quictls' name: 'build quictls'
@ -206,7 +206,8 @@ jobs:
git fetch origin --depth=1 ${{ env.wolfssl-version }} git fetch origin --depth=1 ${{ env.wolfssl-version }}
git checkout ${{ env.wolfssl-version }} git checkout ${{ env.wolfssl-version }}
./autogen.sh ./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
make install make install
name: 'build wolfssl' name: 'build wolfssl'
@ -413,7 +414,7 @@ jobs:
run: | run: |
git clone --quiet --depth=1 -b openssl-${{ env.openssl-version }} https://github.com/openssl/openssl git clone --quiet --depth=1 -b openssl-${{ env.openssl-version }} https://github.com/openssl/openssl
cd 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 make -j1 install_sw
cat exporters/openssl.pc cat exporters/openssl.pc

View File

@ -363,9 +363,9 @@ jobs:
- name: 'build libressl' - name: 'build libressl'
if: contains(matrix.build.install_steps, 'libressl') && steps.cache-libressl.outputs.cache-hit != 'true' if: contains(matrix.build.install_steps, 'libressl') && steps.cache-libressl.outputs.cache-hit != 'true'
run: | run: |
git clone --quiet --depth=1 -b v${{ env.libressl-version }} https://github.com/libressl-portable/portable.git libressl-git 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
cd libressl-git tar -xzf libressl-${{ env.libressl-version }}.tar.gz
./autogen.sh cd libressl-${{ env.libressl-version }}
./configure --disable-dependency-tracking --prefix=$HOME/libressl ./configure --disable-dependency-tracking --prefix=$HOME/libressl
make install make install
@ -386,7 +386,8 @@ jobs:
tar -xzf v${{ env.wolfssl-version }}-stable.tar.gz tar -xzf v${{ env.wolfssl-version }}-stable.tar.gz
cd wolfssl-${{ env.wolfssl-version }}-stable cd wolfssl-${{ env.wolfssl-version }}-stable
./autogen.sh ./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 make install
- name: 'cache wolfssl (opensslextra)' - name: 'cache wolfssl (opensslextra)'
@ -406,7 +407,8 @@ jobs:
tar -xzf v${{ env.wolfssl-version }}-stable.tar.gz tar -xzf v${{ env.wolfssl-version }}-stable.tar.gz
cd wolfssl-${{ env.wolfssl-version }}-stable cd wolfssl-${{ env.wolfssl-version }}-stable
./autogen.sh ./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 make install
- name: 'cache mbedtls' - name: 'cache mbedtls'
@ -447,7 +449,7 @@ jobs:
run: | run: |
git clone --quiet --depth=1 -b openssl-${{ env.openssl-version }} https://github.com/openssl/openssl git clone --quiet --depth=1 -b openssl-${{ env.openssl-version }} https://github.com/openssl/openssl
cd 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 make -j1 install_sw
- name: 'cache quictls' - name: 'cache quictls'
@ -465,7 +467,7 @@ jobs:
run: | run: |
git clone --quiet --depth=1 -b openssl-${{ env.quictls-version }}-quic1 https://github.com/quictls/openssl git clone --quiet --depth=1 -b openssl-${{ env.quictls-version }}-quic1 https://github.com/quictls/openssl
cd 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 make -j1 install_sw
- name: 'cache msh3' - name: 'cache msh3'
@ -505,7 +507,7 @@ jobs:
tar xzf v${{ env.awslc-version }}.tar.gz tar xzf v${{ env.awslc-version }}.tar.gz
mkdir aws-lc-${{ env.awslc-version }}-build mkdir aws-lc-${{ env.awslc-version }}-build
cd 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 --build .
cmake --install . cmake --install .