torture.yml 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. # Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
  2. #
  3. # SPDX-License-Identifier: curl
  4. name: Linux torture
  5. 'on':
  6. push:
  7. branches:
  8. - master
  9. - '*/ci'
  10. paths-ignore:
  11. - '**/*.md'
  12. - '**/CMakeLists.txt'
  13. - '.circleci/**'
  14. - 'appveyor.*'
  15. - 'CMake/**'
  16. - 'packages/**'
  17. - 'plan9/**'
  18. - 'projects/**'
  19. - 'winbuild/**'
  20. pull_request:
  21. branches:
  22. - master
  23. paths-ignore:
  24. - '**/*.md'
  25. - '**/CMakeLists.txt'
  26. - '.circleci/**'
  27. - 'appveyor.*'
  28. - 'CMake/**'
  29. - 'packages/**'
  30. - 'plan9/**'
  31. - 'projects/**'
  32. - 'winbuild/**'
  33. concurrency:
  34. # Hardcoded workflow filename as workflow name above is just Linux again
  35. group: torture-${{ github.event.pull_request.number || github.sha }}
  36. cancel-in-progress: true
  37. permissions: {}
  38. jobs:
  39. cmake:
  40. name: '${{ matrix.build.name }}'
  41. runs-on: 'ubuntu-24.04'
  42. timeout-minutes: 30
  43. strategy:
  44. fail-fast: false
  45. matrix:
  46. build:
  47. - name: 'OpenSSL torture !FTP'
  48. install: libpsl-dev libbrotli-dev libzstd-dev zlib1g-dev libnghttp2-dev libssh2-1-dev libc-ares-dev
  49. generate: -DCURL_USE_OPENSSL=ON -DENABLE_DEBUG=ON -DENABLE_ARES=ON -DENABLE_WEBSOCKETS=ON
  50. tflags: -t --shallow=25 !FTP
  51. - name: 'OpenSSL torture FTP'
  52. install: libpsl-dev libbrotli-dev libzstd-dev zlib1g-dev libnghttp2-dev libssh2-1-dev libc-ares-dev
  53. generate: -DCURL_USE_OPENSSL=ON -DENABLE_DEBUG=ON -DENABLE_ARES=ON
  54. tflags: -t --shallow=20 FTP
  55. steps:
  56. - run: |
  57. sudo apt-get install cmake ninja-build pkgconf stunnel4 ${{ matrix.build.install }}
  58. python3 -m pip install --break-system-packages impacket
  59. name: 'install prereqs'
  60. - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
  61. - run: |
  62. cmake -G Ninja -DCMAKE_UNITY_BUILD=ON -DCURL_TEST_BUNDLES=ON -DCURL_WERROR=ON \
  63. -DCURL_BROTLI=ON -DCURL_ZSTD=ON \
  64. ${{ matrix.build.generate }}
  65. name: 'cmake configure'
  66. - run: cmake --build . --verbose
  67. name: 'cmake build'
  68. - run: ./src/curl -V
  69. name: 'check curl -V output'
  70. - run: cmake --build . --verbose --target testdeps
  71. name: 'build tests'
  72. - run: cmake --build . --verbose --target test-torture
  73. name: 'run tests'
  74. env:
  75. TFLAGS: '-j10 ${{ matrix.build.tflags }}'