1# Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al. 2# 3# SPDX-License-Identifier: curl 4 5name: Linux 6 7on: 8 push: 9 branches: 10 - master 11 - '*/ci' 12 paths-ignore: 13 - '**/*.md' 14 - '.azure-pipelines.yml' 15 - '.circleci/**' 16 - '.cirrus.yml' 17 - 'appveyor.yml' 18 - 'packages/**' 19 - 'plan9/**' 20 - 'projects/**' 21 - 'winbuild/**' 22 pull_request: 23 branches: 24 - master 25 paths-ignore: 26 - '**/*.md' 27 - '.azure-pipelines.yml' 28 - '.circleci/**' 29 - '.cirrus.yml' 30 - 'appveyor.yml' 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 autotools: 45 name: ${{ matrix.build.name }} 46 runs-on: 'ubuntu-latest' 47 timeout-minutes: 90 48 strategy: 49 fail-fast: false 50 matrix: 51 build: 52 - name: torture 53 install: libpsl-dev libbrotli-dev libzstd-dev zlib1g-dev libnghttp2-dev libssh2-1-dev libc-ares-dev 54 configure: --with-openssl --enable-debug --enable-ares --enable-websockets 55 tflags: -n -t --shallow=25 !FTP 56 - name: torture-ftp 57 install: libpsl-dev libbrotli-dev libzstd-dev zlib1g-dev libnghttp2-dev libssh2-1-dev libc-ares-dev 58 configure: --with-openssl --enable-debug --enable-ares 59 tflags: -n -t --shallow=20 FTP 60 61 steps: 62 - run: | 63 sudo apt-get update 64 sudo apt-get install libtool autoconf automake pkg-config stunnel4 ${{ matrix.build.install }} 65 sudo python3 -m pip install impacket 66 name: 'install prereqs and impacket' 67 68 - uses: actions/checkout@v3 69 70 - run: autoreconf -fi 71 name: 'autoreconf' 72 73 - run: ./configure --enable-warnings --enable-werror ${{ matrix.build.configure }} 74 name: 'configure' 75 76 - run: make V=1 77 name: 'make' 78 79 - run: make V=1 -C tests 80 name: 'make tests' 81 82 - run: make V=1 test-torture 83 name: 'run tests' 84 env: 85 TFLAGS: "${{ matrix.build.tflags }}" 86