torture.yml 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. # Copyright (C) 2000 - 2022 Daniel Stenberg, <daniel@haxx.se>, et al.
  2. #
  3. # SPDX-License-Identifier: curl
  4. name: Linux
  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: torture-${{ 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: 90
  22. strategy:
  23. fail-fast: false
  24. matrix:
  25. build:
  26. - name: torture
  27. install: libpsl-dev libbrotli-dev libzstd-dev zlib1g-dev libnghttp2-dev libssh2-1-dev libc-ares-dev
  28. configure: --with-openssl --enable-debug --enable-ares
  29. tflags: -n -t --shallow=25 !FTP
  30. - name: torture-ftp
  31. install: libpsl-dev libbrotli-dev libzstd-dev zlib1g-dev libnghttp2-dev libssh2-1-dev libc-ares-dev
  32. configure: --with-openssl --enable-debug --enable-ares
  33. tflags: -n -t --shallow=20 FTP
  34. steps:
  35. - run: |
  36. sudo apt-get update
  37. sudo apt-get install libtool autoconf automake pkg-config stunnel4 ${{ matrix.build.install }}
  38. sudo python3 -m pip install impacket
  39. name: 'install prereqs and impacket'
  40. - uses: actions/checkout@v3
  41. - run: autoreconf -fi
  42. name: 'autoreconf'
  43. - run: ./configure --enable-warnings --enable-werror ${{ matrix.build.configure }}
  44. name: 'configure'
  45. - run: make V=1
  46. name: 'make'
  47. - run: make V=1 -C tests
  48. name: 'make tests'
  49. - run: make V=1 test-torture
  50. name: 'run tests'
  51. env:
  52. TFLAGS: "${{ matrix.build.tflags }}"