ngtcp2-wolfssl.yml 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. # Copyright (C) 2000 - 2022 Daniel Stenberg, <daniel@haxx.se>, et al.
  2. #
  3. # SPDX-License-Identifier: curl
  4. name: ngtcp2
  5. on:
  6. push:
  7. branches:
  8. - master
  9. - '*/ci'
  10. pull_request:
  11. branches:
  12. - master
  13. concurrency:
  14. # Hardcoded workflow filename as workflow name above is just Linux again
  15. group: ngtcp2-wolfssl-${{ github.event.pull_request.number || github.sha }}
  16. cancel-in-progress: true
  17. jobs:
  18. autotools:
  19. name: ${{ matrix.build.name }}
  20. runs-on: 'ubuntu-latest'
  21. timeout-minutes: 60
  22. strategy:
  23. fail-fast: false
  24. matrix:
  25. build:
  26. - name: wolfssl
  27. install:
  28. configure: LDFLAGS="-Wl,-rpath,$HOME/all/lib" --with-wolfssl=$HOME/all --enable-debug
  29. wolfssl-configure: --enable-quic --enable-session-ticket --enable-earlydata --enable-psk --enable-harden --enable-altcertchains
  30. steps:
  31. - run: |
  32. sudo apt-get update
  33. sudo apt-get install libtool autoconf automake pkg-config stunnel4 ${{ matrix.build.install }}
  34. sudo python3 -m pip install impacket
  35. name: 'install prereqs and impacket'
  36. - run: |
  37. git clone https://github.com/wolfSSL/wolfssl.git
  38. cd wolfssl
  39. ./autogen.sh
  40. ./configure ${{ matrix.build.wolfssl-configure }} --prefix=$HOME/all
  41. make install
  42. name: 'install wolfssl'
  43. - run: |
  44. git clone https://github.com/ngtcp2/nghttp3
  45. cd nghttp3
  46. autoreconf -fi
  47. ./configure --prefix=$HOME/all --enable-lib-only
  48. make install
  49. name: 'install nghttp3'
  50. - run: |
  51. git clone https://github.com/ngtcp2/ngtcp2
  52. cd ngtcp2
  53. autoreconf -fi
  54. ./configure PKG_CONFIG_PATH=$HOME/all/lib/pkgconfig LDFLAGS="-Wl,-rpath,$HOME/all/lib" --prefix=$HOME/all --enable-lib-only --with-wolfssl=$HOME/all
  55. make install
  56. name: 'install ngtcp2'
  57. - uses: actions/checkout@v3
  58. - run: autoreconf -fi
  59. name: 'autoreconf'
  60. - run: ./configure --enable-warnings --enable-werror ${{ matrix.build.configure }}
  61. name: 'configure'
  62. - run: make V=1
  63. name: 'make'
  64. - run: make V=1 examples
  65. name: 'make examples'
  66. - run: make V=1 -C tests
  67. name: 'make tests'
  68. - run: make V=1 test-ci
  69. name: 'run tests'
  70. env:
  71. TFLAGS: "${{ matrix.build.tflags }}"