ngtcp2-gnutls.yml 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. # Copyright (C) 2000 - 2022 Daniel Stenberg, <daniel@haxx.se>, et al.
  2. #
  3. # SPDX-License-Identifier: curl
  4. name: ngtcp2
  5. on:
  6. # Trigger the workflow on push or pull requests, but only for the
  7. # master branch
  8. push:
  9. branches:
  10. - master
  11. - '*/ci'
  12. pull_request:
  13. branches:
  14. - master
  15. jobs:
  16. autotools:
  17. name: ${{ matrix.build.name }}
  18. runs-on: 'ubuntu-latest'
  19. timeout-minutes: 60
  20. strategy:
  21. fail-fast: false
  22. matrix:
  23. build:
  24. - name: gnutls
  25. install:
  26. configure: LDFLAGS="-Wl,-rpath,$HOME/all/lib" --with-gnutls=$HOME/all --enable-debug
  27. gnutls-configure: --with-included-libtasn1 --with-included-unistring --disable-guile --disable-doc --disable-tests
  28. steps:
  29. - run: |
  30. sudo apt-get update
  31. 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
  32. sudo python3 -m pip install impacket
  33. name: 'install prereqs and impacket'
  34. - run: |
  35. git clone --depth=1 https://gitlab.com/gnutls/nettle.git
  36. cd nettle
  37. ./.bootstrap
  38. ./configure LDFLAGS="-Wl,-rpath,$HOME/all/lib" ${{ matrix.build.nettle-configure }} --prefix=$HOME/all --libdir=$HOME/all/lib --disable-documentation
  39. make && make install
  40. name: 'install nettle'
  41. - run: |
  42. git clone --depth=1 -b 3.7.7 https://github.com/gnutls/gnutls.git
  43. cd gnutls
  44. ./bootstrap
  45. ./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
  46. make V=1 && make install
  47. name: 'install gnutls'
  48. - run: |
  49. git clone --depth=1 https://github.com/ngtcp2/nghttp3
  50. cd nghttp3
  51. autoreconf -fi
  52. ./configure --prefix=$HOME/all --enable-lib-only
  53. make && make install
  54. name: 'install nghttp3'
  55. - run: |
  56. git clone --depth=1 https://github.com/ngtcp2/ngtcp2
  57. cd ngtcp2
  58. autoreconf -fi
  59. ./configure PKG_CONFIG_PATH=$HOME/all/lib/pkgconfig LDFLAGS="-Wl,-rpath,$HOME/all/lib" --prefix=$HOME/all --enable-lib-only --with-gnutls=$HOME/all
  60. make && make install
  61. name: 'install ngtcp2'
  62. - uses: actions/checkout@v3
  63. - run: autoreconf -fi
  64. name: 'autoreconf'
  65. - run: ./configure --enable-warnings --enable-werror ${{ matrix.build.configure }}
  66. name: 'configure'
  67. - run: make V=1
  68. name: 'make'
  69. - run: make V=1 examples
  70. name: 'make examples'
  71. - run: make V=1 test-ci
  72. name: 'test'
  73. env:
  74. TFLAGS: "${{ matrix.build.tflags }}"