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