--- /dev/null
+# Copyright (C) 2000 - 2022 Daniel Stenberg, <daniel@haxx.se>, 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: gnutls
+ install:
+ configure: LDFLAGS="-Wl,-rpath,$HOME/all/lib" --with-gnutls=$HOME/all --enable-debug
+ gnutls-configure: --with-included-libtasn1 --with-included-unistring --disable-guile --disable-doc --disable-tests
+
+ steps:
+ - run: |
+ sudo apt-get update
+ sudo apt-get install libtool autoconf automake pkg-config stunnel4 ${{ matrix.build.install }} python3 nettle-dev libp11-kit-dev libtspi-dev libunistring-dev guile-2.2-dev libtasn1-bin libtasn1-6-dev libidn2-0-dev gawk gperf libtss2-dev dns-root-data bison gtk-doc-tools texinfo texlive texlive-extra-utils autopoint libev-dev
+ sudo python3 -m pip install impacket
+ name: 'install prereqs and impacket'
+
+ - run: |
+ git clone --depth=1 https://gitlab.com/gnutls/nettle.git
+ cd nettle
+ ./.bootstrap
+ ./configure LDFLAGS="-Wl,-rpath,$HOME/all/lib" ${{ matrix.build.nettle-configure }} --prefix=$HOME/all --libdir=$HOME/all/lib --disable-documentation
+ make && make install
+ name: 'install nettle'
+
+ - run: |
+ git clone --depth=1 -b 3.7.7 https://github.com/gnutls/gnutls.git
+ cd gnutls
+ ./bootstrap
+ ./configure PKG_CONFIG_PATH="$HOME/all/lib/pkgconfig" LDFLAGS="-Wl,-rpath,$HOME/all/lib -L$HOME/all/lib" --prefix=$HOME/all ${{ matrix.build.gnutls-configure }} --disable-tools
+ make V=1 && make install
+ name: 'install gnutls'
+
+ - run: |
+ git clone --depth=1 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 --depth=1 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-gnutls=$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 }}"
--with-nghttp3={{ ansible_user_dir }}/ngbuild
NOTESTS:
-- job:
- name: curl-novalgrind-ngtcp2-gnutls
- parent: curl-base
- vars:
- curl_apt_packages:
- - libpsl-dev
- - libbrotli-dev
- - libzstd-dev
- - zlib1g-dev
- - autogen
- - automake
- - autopoint
- - bison
- - gperf
- - libgmp-dev
- - libopts25-dev
- - libp11-kit-dev
- - libtasn1-6-dev
- - nettle-dev
- - gtk-doc-tools
- - gnulib
- - libtasn1-bin
- curl_env:
- CC: gcc-8
- CXX: g++-8
- T: novalgrind
- NGTCP2: "yes"
- GNUTLS: "yes"
- C: >-
- PKG_CONFIG_PATH={{ ansible_user_dir }}/ngbuild
- --with-gnutls={{ ansible_user_dir }}/ngbuild
- --with-ngtcp2={{ ansible_user_dir }}/ngbuild
- --with-nghttp3={{ ansible_user_dir }}/ngbuild
- NOTESTS:
-
- job:
name: curl-debug-clang-disable-alt-svc-with-openssl
parent: curl-base
- curl-novalgrind-boringssl-with-openssl
- curl-novalgrind-boringssl-with-openssl-quiche
- curl-novalgrind-ngtcp2-with-openssl
- - curl-novalgrind-ngtcp2-gnutls
- curl-debug-clang-disable-alt-svc-with-openssl
- curl-debug-clang-with-gnutls
- curl-cmake-boringssl-quiche