]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
GHA/linux: merge wolfSSL workflow
authorViktor Szakats <commit@vsz.me>
Tue, 24 Sep 2024 12:26:20 +0000 (14:26 +0200)
committerViktor Szakats <commit@vsz.me>
Tue, 24 Sep 2024 12:59:36 +0000 (14:59 +0200)
Add wolfSSL builds to cache.

Also apply -j4 for the valgrind job (was: -j2).

Closes #15030

.github/workflows/linux.yml
.github/workflows/wolfssl.yml [deleted file]

index 806e2f8a3ea0d19839d395215f273085b9868a65..47ef9f8c8e33b27874bc7e98543f234cf3f667aa 100644 (file)
@@ -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 (file)
index 306fd74..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-# Copyright (C) Daniel Stenberg, <daniel@haxx.se>, 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'