From: Viktor Szakats Date: Tue, 24 Sep 2024 12:26:20 +0000 (+0200) Subject: GHA/linux: merge wolfSSL workflow X-Git-Tag: curl-8_11_0~350 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=820afa2b7cb33a0daaca5b61e8755546b46136d5;p=thirdparty%2Fcurl.git GHA/linux: merge wolfSSL workflow Add wolfSSL builds to cache. Also apply -j4 for the valgrind job (was: -j2). Closes #15030 --- diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 806e2f8a3e..47ef9f8c8e 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -94,6 +94,18 @@ jobs: configure: CC=clang LDFLAGS="-Wl,-rpath,$HOME/libressl/lib" --with-openssl=$HOME/libressl --enable-debug singleuse: --unit + - name: wolfssl-all + install_packages: zlib1g-dev + install_steps: wolfssl-all + configure: LDFLAGS="-Wl,-rpath,$HOME/wolfssl-all/lib" --with-wolfssl=$HOME/wolfssl-all --enable-debug + singleuse: --unit + + - name: wolfssl-opensslextra valgrind + install_packages: zlib1g-dev valgrind + install_steps: wolfssl-opensslextra + configure: LDFLAGS="-Wl,-rpath,$HOME/wolfssl-opensslextra/lib" --with-wolfssl=$HOME/wolfssl-opensslextra --enable-debug + singleuse: --unit + - name: mbedtls valgrind install_packages: libnghttp2-dev valgrind install_steps: mbedtls pytest @@ -319,6 +331,48 @@ jobs: ./configure --disable-dependency-tracking --prefix=$HOME/libressl make install + - name: cache wolfssl (all) + if: contains(matrix.build.install_steps, 'wolfssl-all') + uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4 + id: cache-wolfssl-all + env: + cache-name: cache-wolfssl-all + with: + path: /home/runner/wolfssl-all + key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ env.libressl-version }} + + - name: 'build wolfssl (all)' + if: contains(matrix.build.install_steps, 'wolfssl-all') && steps.cache-wolfssl-all.outputs.cache-hit != 'true' + run: | + source .github/scripts/VERSIONS + curl -LOsSf --retry 6 --retry-connrefused --max-time 999 https://github.com/wolfSSL/wolfssl/archive/v$WOLFSSL_VER-stable.tar.gz + tar -xzf v$WOLFSSL_VER-stable.tar.gz + cd wolfssl-$WOLFSSL_VER-stable + ./autogen.sh + ./configure --disable-dependency-tracking --enable-tls13 --enable-harden --prefix=$HOME/wolfssl-all --enable-all + make install + + - name: cache wolfssl (opensslextra) + if: contains(matrix.build.install_steps, 'wolfssl-opensslextra') + uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4 + id: cache-wolfssl-opensslextra + env: + cache-name: cache-wolfssl-opensslextra + with: + path: /home/runner/wolfssl-opensslextra + key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ env.libressl-version }} + + - name: 'build wolfssl (opensslextra)' + if: contains(matrix.build.install_steps, 'wolfssl-opensslextra') && steps.cache-wolfssl-opensslextra.outputs.cache-hit != 'true' + run: | + source .github/scripts/VERSIONS + curl -LOsSf --retry 6 --retry-connrefused --max-time 999 https://github.com/wolfSSL/wolfssl/archive/v$WOLFSSL_VER-stable.tar.gz + tar -xzf v$WOLFSSL_VER-stable.tar.gz + cd wolfssl-$WOLFSSL_VER-stable + ./autogen.sh + ./configure --disable-dependency-tracking --enable-tls13 --enable-harden --prefix=$HOME/wolfssl-opensslextra --enable-opensslextra + make install + - name: cache mbedtls if: contains(matrix.build.install_steps, 'mbedtls') uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4 diff --git a/.github/workflows/wolfssl.yml b/.github/workflows/wolfssl.yml deleted file mode 100644 index 306fd74176..0000000000 --- a/.github/workflows/wolfssl.yml +++ /dev/null @@ -1,101 +0,0 @@ -# Copyright (C) Daniel Stenberg, , et al. -# -# SPDX-License-Identifier: curl - -name: Linux wolfSSL - -'on': - push: - branches: - - master - - '*/ci' - paths-ignore: - - '**/*.md' - - '**/CMakeLists.txt' - - '.circleci/**' - - 'appveyor.*' - - 'CMake/**' - - 'packages/**' - - 'plan9/**' - - 'projects/**' - - 'winbuild/**' - pull_request: - branches: - - master - paths-ignore: - - '**/*.md' - - '**/CMakeLists.txt' - - '.circleci/**' - - 'appveyor.*' - - 'CMake/**' - - 'packages/**' - - 'plan9/**' - - 'projects/**' - - 'winbuild/**' - -concurrency: - # Hardcoded workflow filename as workflow name above is just Linux again - group: wolfssl-${{ github.event.pull_request.number || github.sha }} - cancel-in-progress: true - -permissions: {} - -env: - MAKEFLAGS: -j 5 - -jobs: - autotools: - name: ${{ matrix.build.name }} - runs-on: 'ubuntu-latest' - timeout-minutes: 60 - strategy: - fail-fast: false - matrix: - build: - - name: wolfssl (with --enable-all) - install: - configure: LDFLAGS="-Wl,-rpath,$HOME/wssl/lib" --with-wolfssl=$HOME/wssl --enable-debug - wolfssl-configure: --enable-all - - name: wolfssl (with --enable-opensslextra) valgrind - install: valgrind - configure: LDFLAGS="-Wl,-rpath,$HOME/wssl/lib" --with-wolfssl=$HOME/wssl --enable-debug - wolfssl-configure: --enable-opensslextra - - steps: - - run: | - sudo apt-get install libtool autoconf automake pkgconf stunnel4 libpsl-dev ${{ matrix.build.install }} - sudo python3 -m pip install impacket - name: 'install prereqs and impacket' - - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4 - - - run: | - source .github/scripts/VERSIONS - curl -LOsSf --retry 6 --retry-connrefused --max-time 999 https://github.com/wolfSSL/wolfssl/archive/v$WOLFSSL_VER-stable.tar.gz - tar -xzf v$WOLFSSL_VER-stable.tar.gz - cd wolfssl-$WOLFSSL_VER-stable - ./autogen.sh - ./configure --disable-dependency-tracking --enable-tls13 ${{ matrix.build.wolfssl-configure }} --enable-harden --prefix=$HOME/wssl - make install - name: 'install wolfssl' - - - run: autoreconf -fi - name: 'autoreconf' - - - run: ./configure --disable-dependency-tracking --enable-unity --enable-test-bundles --enable-warnings --enable-werror ${{ matrix.build.configure }} - name: 'configure' - - - run: make V=1 - name: 'make' - - - run: make V=1 -C tests - name: 'make tests' - - - run: make V=1 test-ci - name: 'run tests' - timeout-minutes: ${{ contains(matrix.build.install, 'valgrind') && 30 || 15 }} - env: - TFLAGS: "${{ matrix.build.tflags }}" - - - run: make V=1 examples - name: 'make examples'