From: Daniel Stenberg Date: Mon, 15 Aug 2022 07:40:35 +0000 (+0200) Subject: ngtcp2-wolfssl.yml: add GHA to build ngtcp2 + wolfSSL X-Git-Tag: curl-7_85_0~56 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=2e67d451b1d7ea4b4b8f13ffce02b65fab9d7c5c;p=thirdparty%2Fcurl.git ngtcp2-wolfssl.yml: add GHA to build ngtcp2 + wolfSSL Closes #9318 --- diff --git a/.github/workflows/ngtcp2-wolfssl.yml b/.github/workflows/ngtcp2-wolfssl.yml new file mode 100644 index 0000000000..f55aafc7f5 --- /dev/null +++ b/.github/workflows/ngtcp2-wolfssl.yml @@ -0,0 +1,80 @@ +# Copyright (C) 2000 - 2022 Daniel Stenberg, , et al. +# +# SPDX-License-Identifier: curl + +name: ngtcp2 + +on: + # Trigger the workflow on push or pull requests, but only for the + # master branch + push: + branches: + - master + - '*/ci' + pull_request: + branches: + - master + +jobs: + autotools: + name: ${{ matrix.build.name }} + runs-on: 'ubuntu-latest' + timeout-minutes: 60 + strategy: + fail-fast: false + matrix: + build: + - name: wolfssl + install: + configure: LDFLAGS="-Wl,-rpath,$HOME/all/lib" --with-wolfssl=$HOME/all --enable-debug + wolfssl-configure: --enable-quic --enable-session-ticket --enable-earlydata --enable-psk --enable-harden --enable-altcertchains + + steps: + - run: | + sudo apt-get update + sudo apt-get install libtool autoconf automake pkg-config stunnel4 ${{ matrix.build.install }} + sudo python3 -m pip install impacket + name: 'install prereqs and impacket' + + - run: | + git clone https://github.com/wolfSSL/wolfssl.git + cd wolfssl + ./autogen.sh + ./configure ${{ matrix.build.wolfssl-configure }} --prefix=$HOME/all + make && make install + name: 'install wolfssl' + + - run: | + git clone https://github.com/ngtcp2/nghttp3 + cd nghttp3 + autoreconf -fi + ./configure --prefix=$HOME/all --enable-lib-only + make && make install + name: 'install nghttp3' + + - run: | + git clone https://github.com/ngtcp2/ngtcp2 + cd ngtcp2 + autoreconf -fi + ./configure PKG_CONFIG_PATH=$HOME/all/lib/pkgconfig LDFLAGS="-Wl,-rpath,$HOME/all/lib" --prefix=$HOME/all --enable-lib-only --with-wolfssl=$HOME/all + make && make install + name: 'install ngtcp2' + + - uses: actions/checkout@v3 + + - run: autoreconf -fi + name: 'autoreconf' + + - run: ./configure --enable-warnings --enable-werror ${{ matrix.build.configure }} + name: 'configure' + + - run: make V=1 + name: 'make' + + - run: make V=1 examples + name: 'make examples' + + - run: make V=1 test-ci + name: 'test' + env: + TFLAGS: "${{ matrix.build.tflags }}"