ngtcp2-wolfssl.yml 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  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: wolfssl
  25. install:
  26. configure: LDFLAGS="-Wl,-rpath,$HOME/all/lib" --with-wolfssl=$HOME/all --enable-debug
  27. wolfssl-configure: --enable-quic --enable-session-ticket --enable-earlydata --enable-psk --enable-harden --enable-altcertchains
  28. steps:
  29. - run: |
  30. sudo apt-get update
  31. sudo apt-get install libtool autoconf automake pkg-config stunnel4 ${{ matrix.build.install }}
  32. sudo python3 -m pip install impacket
  33. name: 'install prereqs and impacket'
  34. - run: |
  35. git clone https://github.com/wolfSSL/wolfssl.git
  36. cd wolfssl
  37. ./autogen.sh
  38. ./configure ${{ matrix.build.wolfssl-configure }} --prefix=$HOME/all
  39. make && make install
  40. name: 'install wolfssl'
  41. - run: |
  42. git clone https://github.com/ngtcp2/nghttp3
  43. cd nghttp3
  44. autoreconf -fi
  45. ./configure --prefix=$HOME/all --enable-lib-only
  46. make && make install
  47. name: 'install nghttp3'
  48. - run: |
  49. git clone https://github.com/ngtcp2/ngtcp2
  50. cd ngtcp2
  51. autoreconf -fi
  52. ./configure PKG_CONFIG_PATH=$HOME/all/lib/pkgconfig LDFLAGS="-Wl,-rpath,$HOME/all/lib" --prefix=$HOME/all --enable-lib-only --with-wolfssl=$HOME/all
  53. make && make install
  54. name: 'install ngtcp2'
  55. - uses: actions/checkout@v3
  56. - run: autoreconf -fi
  57. name: 'autoreconf'
  58. - run: ./configure --enable-warnings --enable-werror ${{ matrix.build.configure }}
  59. name: 'configure'
  60. - run: make V=1
  61. name: 'make'
  62. - run: make V=1 examples
  63. name: 'make examples'
  64. - run: make V=1 test-ci
  65. name: 'test'
  66. env:
  67. TFLAGS: "${{ matrix.build.tflags }}"