wolfssl.yml 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. # Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
  2. #
  3. # SPDX-License-Identifier: curl
  4. name: Linux wolfSSL
  5. on:
  6. push:
  7. branches:
  8. - master
  9. - '*/ci'
  10. paths-ignore:
  11. - '**/*.md'
  12. - '**/CMakeLists.txt'
  13. - '.azure-pipelines.yml'
  14. - '.circleci/**'
  15. - '.cirrus.yml'
  16. - 'appveyor.*'
  17. - 'CMake/**'
  18. - 'packages/**'
  19. - 'plan9/**'
  20. - 'projects/**'
  21. - 'winbuild/**'
  22. pull_request:
  23. branches:
  24. - master
  25. paths-ignore:
  26. - '**/*.md'
  27. - '**/CMakeLists.txt'
  28. - '.azure-pipelines.yml'
  29. - '.circleci/**'
  30. - '.cirrus.yml'
  31. - 'appveyor.*'
  32. - 'CMake/**'
  33. - 'packages/**'
  34. - 'plan9/**'
  35. - 'projects/**'
  36. - 'winbuild/**'
  37. concurrency:
  38. # Hardcoded workflow filename as workflow name above is just Linux again
  39. group: wolfssl-${{ github.event.pull_request.number || github.sha }}
  40. cancel-in-progress: true
  41. permissions: {}
  42. env:
  43. MAKEFLAGS: -j 3
  44. jobs:
  45. autotools:
  46. name: ${{ matrix.build.name }}
  47. runs-on: 'ubuntu-latest'
  48. timeout-minutes: 60
  49. strategy:
  50. fail-fast: false
  51. matrix:
  52. build:
  53. - name: wolfssl (configured with --enable-all)
  54. install:
  55. configure: LDFLAGS="-Wl,-rpath,$HOME/wssl/lib" --with-wolfssl=$HOME/wssl --enable-debug
  56. wolfssl-configure: --enable-all
  57. - name: wolfssl (configured with --enable-opensslextra)
  58. install: valgrind
  59. configure: LDFLAGS="-Wl,-rpath,$HOME/wssl/lib" --with-wolfssl=$HOME/wssl --enable-debug
  60. wolfssl-configure: --enable-opensslextra
  61. steps:
  62. - run: |
  63. sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
  64. sudo apt-get update
  65. sudo apt-get install libtool autoconf automake pkg-config stunnel4 libpsl-dev ${{ matrix.build.install }}
  66. sudo python3 -m pip install impacket
  67. name: 'install prereqs and impacket'
  68. - run: |
  69. WOLFSSL_VER=5.6.3
  70. curl -LOsSf --retry 6 --retry-connrefused --max-time 999 https://github.com/wolfSSL/wolfssl/archive/v$WOLFSSL_VER-stable.tar.gz
  71. tar -xzf v$WOLFSSL_VER-stable.tar.gz
  72. cd wolfssl-$WOLFSSL_VER-stable
  73. ./autogen.sh
  74. ./configure --enable-tls13 ${{ matrix.build.wolfssl-configure }} --enable-harden --prefix=$HOME/wssl
  75. make install
  76. name: 'install wolfssl'
  77. - uses: actions/checkout@v4
  78. - run: autoreconf -fi
  79. name: 'autoreconf'
  80. - run: ./configure --enable-warnings --enable-werror ${{ matrix.build.configure }}
  81. name: 'configure'
  82. - run: make V=1
  83. name: 'make'
  84. - run: make V=1 examples
  85. name: 'make examples'
  86. - run: make V=1 -C tests
  87. name: 'make tests'
  88. - run: make V=1 test-ci
  89. name: 'run tests'
  90. env:
  91. TFLAGS: "${{ matrix.build.tflags }}"