1# Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al. 2# 3# SPDX-License-Identifier: curl 4 5name: Linux wolfSSL 6 7on: 8 push: 9 branches: 10 - master 11 - '*/ci' 12 paths-ignore: 13 - '**/*.md' 14 - '**/CMakeLists.txt' 15 - '.azure-pipelines.yml' 16 - '.circleci/**' 17 - '.cirrus.yml' 18 - 'appveyor.*' 19 - 'CMake/**' 20 - 'packages/**' 21 - 'plan9/**' 22 - 'projects/**' 23 - 'winbuild/**' 24 pull_request: 25 branches: 26 - master 27 paths-ignore: 28 - '**/*.md' 29 - '**/CMakeLists.txt' 30 - '.azure-pipelines.yml' 31 - '.circleci/**' 32 - '.cirrus.yml' 33 - 'appveyor.*' 34 - 'CMake/**' 35 - 'packages/**' 36 - 'plan9/**' 37 - 'projects/**' 38 - 'winbuild/**' 39 40concurrency: 41 # Hardcoded workflow filename as workflow name above is just Linux again 42 group: wolfssl-${{ github.event.pull_request.number || github.sha }} 43 cancel-in-progress: true 44 45permissions: {} 46 47env: 48 MAKEFLAGS: -j 3 49 50jobs: 51 autotools: 52 name: ${{ matrix.build.name }} 53 runs-on: 'ubuntu-latest' 54 timeout-minutes: 60 55 strategy: 56 fail-fast: false 57 matrix: 58 build: 59 - name: wolfssl (configured with --enable-all) 60 install: 61 configure: LDFLAGS="-Wl,-rpath,$HOME/wssl/lib" --with-wolfssl=$HOME/wssl --enable-debug 62 wolfssl-configure: --enable-all 63 - name: wolfssl (configured with --enable-opensslextra) 64 install: valgrind 65 configure: LDFLAGS="-Wl,-rpath,$HOME/wssl/lib" --with-wolfssl=$HOME/wssl --enable-debug 66 wolfssl-configure: --enable-opensslextra 67 68 steps: 69 - run: | 70 sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list 71 sudo apt-get update 72 sudo apt-get install libtool autoconf automake pkg-config stunnel4 libpsl-dev ${{ matrix.build.install }} 73 sudo python3 -m pip install impacket 74 name: 'install prereqs and impacket' 75 76 - run: | 77 WOLFSSL_VER=5.6.3 78 curl -LOsSf --retry 6 --retry-connrefused --max-time 999 https://github.com/wolfSSL/wolfssl/archive/v$WOLFSSL_VER-stable.tar.gz 79 tar -xzf v$WOLFSSL_VER-stable.tar.gz 80 cd wolfssl-$WOLFSSL_VER-stable 81 ./autogen.sh 82 ./configure --enable-tls13 ${{ matrix.build.wolfssl-configure }} --enable-harden --prefix=$HOME/wssl 83 make install 84 name: 'install wolfssl' 85 86 - uses: actions/checkout@v4 87 88 - run: autoreconf -fi 89 name: 'autoreconf' 90 91 - run: ./configure --enable-warnings --enable-werror ${{ matrix.build.configure }} 92 name: 'configure' 93 94 - run: make V=1 95 name: 'make' 96 97 - run: make V=1 examples 98 name: 'make examples' 99 100 - run: make V=1 -C tests 101 name: 'make tests' 102 103 - run: make V=1 test-ci 104 name: 'run tests' 105 env: 106 TFLAGS: "${{ matrix.build.tflags }}" 107