curl/zuul.d/jobs.yaml
max.mehl ad9bc5976d
copyright: make repository REUSE compliant
Add licensing and copyright information for all files in this repository. This
either happens in the file itself as a comment header or in the file
`.reuse/dep5`.

This commit also adds a Github workflow to check pull requests and adapts
copyright.pl to the changes.

Closes #8869
2022-06-13 09:13:00 +02:00

331 lines
8.2 KiB
YAML

#***************************************************************************
# _ _ ____ _
# Project ___| | | | _ \| |
# / __| | | | |_) | |
# | (__| |_| | _ <| |___
# \___|\___/|_| \_\_____|
#
# Copyright (C) 2021 - 2022, Daniel Stenberg, <daniel@haxx.se>, et al.
#
# This software is licensed as described in the file COPYING, which
# you should have received as part of this distribution. The terms
# are also available at https://curl.se/docs/copyright.html.
#
# You may opt to use, copy, modify, merge, publish, distribute and/or sell
# copies of the Software, and permit persons to whom the Software is
# furnished to do so, under the terms of the COPYING file.
#
# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
# KIND, either express or implied.
#
# SPDX-License-Identifier: curl
#
###########################################################################
# The results of each of these jobs can be found at
# https://curl.zuul.vexxhost.dev/builds. As of November 2021 they are not being
# propagated to the Github "checks" UI, you need to check for them manually.
---
- job:
name: curl-base
abstract: true
pre-run: zuul.d/playbooks/pre.yaml
run: zuul.d/playbooks/run.yaml
post-run: zuul.d/playbooks/post.yaml
nodeset: ubuntu-bionic
timeout: 3600
vars:
curl_env:
LD_LIBRARY_PATH: /usr/local/lib
# NOTE(mnaser): Workaround to keep existing Travis scripts compatible
TRAVIS_OS_NAME: linux
- job:
name: curl-normal-with-openssl-gssapi-libssh2-checksrc
parent: curl-base
vars:
curl_env:
T: normal
C: --with-openssl --with-gssapi --with-libssh2
CHECKSRC: 1
curl_apt_packages:
- krb5-user
- libssh2-1-dev
- libbrotli-dev
- libzstd-dev
- job:
name: curl-novalgrind-boringssl-with-openssl
parent: curl-base
vars:
gimme_stable: true
curl_env:
CC: gcc-8
CXX: g++-8
T: novalgrind
BORINGSSL: "yes"
C: >-
--with-openssl={{ ansible_user_dir }}/boringssl
LD_LIBRARY_PATH: "{{ ansible_user_dir }}/boringssl/lib:/usr/local/lib"
- job:
name: curl-novalgrind-boringssl-with-openssl-quiche
parent: curl-base
vars:
curl_apt_packages:
- libpsl-dev
- libbrotli-dev
- libzstd-dev
curl_env:
CC: gcc-8
CXX: g++-8
T: novalgrind
QUICHE: "yes"
C: >-
--with-openssl={{ ansible_user_dir }}/quiche/quiche/deps/boringssl/src
--with-quiche={{ ansible_user_dir }}/quiche/target/release
LD_LIBRARY_PATH: "{{ ansible_user_dir }}/quiche/target/release:/usr/local/lib"
- job:
name: curl-novalgrind-libressl
parent: curl-base
vars:
curl_env:
CC: gcc-8
CXX: g++-8
T: novalgrind
LIBRESSL: "yes"
C: >-
--with-openssl={{ ansible_user_dir }}/libressl
LD_LIBRARY_PATH: "{{ ansible_user_dir }}/libressl/lib:/usr/local/lib"
- job:
name: curl-novalgrind-ngtcp2-with-openssl
parent: curl-base
vars:
curl_apt_packages:
- libpsl-dev
- libbrotli-dev
- libzstd-dev
curl_env:
CC: gcc-8
CXX: g++-8
T: novalgrind
NGTCP2: "yes"
C: >-
--with-openssl={{ ansible_user_dir }}/ngbuild
--with-ngtcp2={{ ansible_user_dir }}/ngbuild
--with-nghttp3={{ ansible_user_dir }}/ngbuild
NOTESTS:
- job:
name: curl-novalgrind-ngtcp2-gnutls
parent: curl-base
vars:
curl_apt_packages:
- libpsl-dev
- libbrotli-dev
- libzstd-dev
- zlib1g-dev
- autogen
- automake
- autopoint
- bison
- gperf
- libgmp-dev
- libopts25-dev
- libp11-kit-dev
- libtasn1-6-dev
- nettle-dev
- gtk-doc-tools
- gnulib
- libtasn1-bin
curl_env:
CC: gcc-8
CXX: g++-8
T: novalgrind
NGTCP2: "yes"
GNUTLS: "yes"
C: >-
PKG_CONFIG_PATH={{ ansible_user_dir }}/ngbuild
--with-gnutls={{ ansible_user_dir }}/ngbuild
--with-ngtcp2={{ ansible_user_dir }}/ngbuild
--with-nghttp3={{ ansible_user_dir }}/ngbuild
NOTESTS:
- job:
name: curl-debug-clang-disable-alt-svc-with-openssl
parent: curl-base
vars:
curl_apt_packages:
- clang-9
- libpsl-dev
- libbrotli-dev
- libzstd-dev
curl_env:
CC: clang-9
CXX: clang++-9
T: debug
C: >-
--with-openssl
--disable-alt-svc
- job:
name: curl-debug-clang-with-gnutls
parent: curl-base
vars:
curl_apt_packages:
- clang-9
- libpsl-dev
- libbrotli-dev
- libzstd-dev
- libgnutls28-dev
curl_env:
CC: clang-9
CXX: clang++-9
T: debug
C: >-
--with-gnutls
- job:
name: curl-cmake-boringssl-quiche
parent: curl-base
vars:
gimme_stable: true
curl_apt_packages:
- libpsl-dev
- libbrotli-dev
- libzstd-dev
curl_env:
BORINGSSL: "yes"
QUICHE: "yes"
CC: gcc-8
CXX: g++-8
T: cmake
C: >-
-GNinja
-DUSE_QUICHE=1
-DOPENSSL_ROOT_DIR={{ ansible_user_dir }}/boringssl
-DCURL_BROTLI=1
-DCURL_ZSTD=1
TFLAGS: https ftps
PKG_CONFIG_PATH: "{{ ansible_user_dir }}/quiche/target/release"
- job:
name: curl-cmake-ngtcp2
parent: curl-base
vars:
curl_apt_packages:
- clang-9
- libpsl-dev
- libbrotli-dev
- libzstd-dev
- libnss3-dev
curl_env:
NGTCP2: "yes"
CC: clang-9
CXX: clang++-9
T: cmake
C: >-
-GNinja
-DUSE_NGTCP2=ON
-DCURL_BROTLI=1
-DCURL_ZSTD=1
PKG_CONFIG_PATH: "{{ ansible_user_dir }}/ngbuild/lib/pkgconfig"
- job:
name: curl-torture
parent: curl-base
vars:
curl_apt_packages:
- lcov
- libpsl-dev
- libssl-dev
- libbrotli-dev
- libzstd-dev
- libssh2-1-dev
curl_env:
CC: gcc-8
CXX: g++-8
T: torture
- job:
name: curl-fuzzer
parent: curl-base
vars:
curl_apt_packages:
- clang
- clang-9
- libpsl-dev
- libbrotli-dev
- libzstd-dev
curl_env:
CC: clang-9
CXX: clang++-9
T: fuzzer
- job:
name: curl-tidy
parent: curl-base
vars:
curl_apt_packages:
- clang
- clang-tidy
- clang-9
- clang-tidy-9
- libpsl-dev
- libbrotli-dev
- libzstd-dev
curl_env:
CC: clang-9
CXX: clang++-9
T: tidy
C: --with-openssl
- job:
name: curl-debug-clang-with-openssl-dl-ubsan
parent: curl-base
vars:
curl_apt_packages:
- clang-9
- libpsl-dev
- libbrotli-dev
- libzstd-dev
curl_env:
CC: clang-9
CXX: clang++-9
T: debug
CFLAGS: >-
-fsanitize=address,undefined,signed-integer-overflow
-fno-sanitize-recover=undefined,integer
-Wformat
-Werror=format-security
-Werror=array-bounds
-g
LDFLAGS: >-
-fsanitize=address,undefined
-fno-sanitize-recover=undefined,integer
LIBS: -ldl -lubsan
TFLAGS: -n
C: --with-openssl
- project:
check:
jobs:
- curl-normal-with-openssl-gssapi-libssh2-checksrc
- curl-novalgrind-boringssl-with-openssl
- curl-novalgrind-boringssl-with-openssl-quiche
- curl-novalgrind-libressl
- curl-novalgrind-ngtcp2-with-openssl
- curl-novalgrind-ngtcp2-gnutls
- curl-debug-clang-disable-alt-svc-with-openssl
- curl-debug-clang-with-gnutls
- curl-cmake-boringssl-quiche
- curl-cmake-ngtcp2
- curl-torture
- curl-fuzzer
- curl-tidy
- curl-debug-clang-with-openssl-dl-ubsan
...