bearssl.yml 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. # Copyright (C) 2000 - 2022 Daniel Stenberg, <daniel@haxx.se>, et al.
  2. #
  3. # SPDX-License-Identifier: curl
  4. name: Linux
  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: bearssl
  25. install: libpsl-dev libbrotli-dev libzstd-dev zlib1g-dev
  26. configure: LDFLAGS="-Wl,-rpath,$HOME/bear/lib" --with-bearssl=$HOME/bear --enable-debug
  27. - name: bearssl-clang
  28. install: libpsl-dev libbrotli-dev libzstd-dev zlib1g-dev clang
  29. configure: CC=clang LDFLAGS="-Wl,-rpath,$HOME/bear/lib" --with-bearssl=$HOME/bear --enable-debug
  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. curl -LO https://bearssl.org/bearssl-0.6.tar.gz
  38. tar -xzf bearssl-0.6.tar.gz
  39. cd bearssl-0.6
  40. make
  41. mkdir -p $HOME/bear/lib $HOME/bear/include
  42. cp inc/*.h $HOME/bear/include
  43. cp build/libbearssl.* $HOME/bear/lib
  44. name: 'install bearssl'
  45. - uses: actions/checkout@v3
  46. - run: autoreconf -fi
  47. name: 'autoreconf'
  48. - run: ./configure --enable-warnings --enable-werror ${{ matrix.build.configure }}
  49. name: 'configure'
  50. - run: make V=1
  51. name: 'make'
  52. - run: make V=1 examples
  53. name: 'make examples'
  54. - run: make V=1 test-ci
  55. name: 'test'
  56. env:
  57. TFLAGS: "${{ matrix.build.tflags }}"