+++ /dev/null
-#***************************************************************************
-# _ _ ____ _
-# Project ___| | | | _ \| |
-# / __| | | | |_) | |
-# | (__| |_| | _ <| |___
-# \___|\___/|_| \_\_____|
-#
-# Copyright (C) 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
-#
-###########################################################################
-# https://cirrus-ci.com/github/curl/curl
-#
-# Cirrus CI configuration:
-# https://cirrus-ci.org/guide/writing-tasks/
-# Used/remaining credits (must be logged in):
-# https://cirrus-ci.com/settings/github/curl
-
-freebsd_task:
- skip: "changesIncludeOnly(
- '**/CMakeLists.txt',
- '.azure-pipelines.yml',
- '.circleci/**',
- '.github/**',
- 'appveyor.*',
- 'CMake/**',
- 'packages/**',
- 'plan9/**',
- 'projects/**',
- 'winbuild/**'
- )"
-
- name: FreeBSD
-
- matrix:
- - name: FreeBSD 14.0
- freebsd_instance:
- image_family: freebsd-14-0
- memory: 1600M
-
- env:
- CIRRUS_CLONE_DEPTH: 10
- CRYPTOGRAPHY_DONT_BUILD_RUST: 1
- MAKEFLAGS: -j 3
-
- pkginstall_script:
- - pkg update -f
- - pkg install -y autoconf automake libtool pkgconf brotli openldap26-client heimdal libpsl libssh2 libidn2 librtmp libnghttp2 nghttp2 stunnel py311-openssl py311-impacket py311-cryptography libpsl
- - pkg delete -y curl
- configure_script:
- - autoreconf -fi
- # Building with the address sanitizer is causing unexplainable test issues due to timeouts
- # - case `uname -r` in
- # 12.2*)
- # export CC=clang;
- # export CFLAGS="-fsanitize=address,undefined,signed-integer-overflow -fno-sanitize-recover=undefined,integer -Wformat -Werror=format-security -Werror=array-bounds -g";
- # export CXXFLAGS="-fsanitize=address,undefined -fno-sanitize-recover=undefined,integer -Wformat -Werror=format-security -Werror=array-bounds -g";
- # export LDFLAGS="-fsanitize=address,undefined -fno-sanitize-recover=undefined,integer" ;;
- # esac
- - ./configure --prefix="${HOME}"/install --disable-dependency-tracking --enable-debug --with-openssl --with-libssh2 --with-brotli --with-gssapi --with-libidn2 --enable-manual --enable-ldap --enable-ldaps --with-librtmp --with-libpsl --with-nghttp2 || { tail -300 config.log; false; }
- compile_script:
- - make V=1 && make V=1 examples && cd tests && make V=1
- test_script:
- # blackhole?
- - sysctl net.inet.tcp.blackhole
- # make sure we don't run blackhole != 0
- - sudo sysctl net.inet.tcp.blackhole=0
- # Some tests won't run if run as root so run them as another user.
- # Make directories world writable so the test step can write wherever it needs.
- - find . -type d -exec chmod 777 {} \;
- # The OpenSSH server instance for the testsuite cannot be started on FreeBSD,
- # therefore the SFTP and SCP tests are disabled right away from the beginning.
- - sudo -u nobody make V=1 TFLAGS="-n !SFTP !SCP" test-ci
- install_script:
- - make V=1 install
- '**/*.md'
- '.azure-pipelines.yml'
- '.circleci/**'
- - '.cirrus.yml'
- 'appveyor.*'
- 'packages/**'
- 'plan9/**'
- '**/*.md'
- '.azure-pipelines.yml'
- '.circleci/**'
- - '.cirrus.yml'
- 'appveyor.*'
- 'packages/**'
- 'plan9/**'
bld/src/curl --disable --version
if [ '${{ matrix.arch }}' = 'x86_64' ]; then # Slow on emulated CPU
cmake --build bld --config Debug --parallel 3 --target testdeps
+ export TFLAGS='-j0' # flakies: ~389 ~392 ~TFTP and more
cmake --build bld --config Debug --target test-ci
fi
strategy:
matrix:
include:
+ - { build: 'autotools', arch: 'x86_64', compiler: 'clang' }
- { build: 'autotools', arch: 'arm64', compiler: 'clang' }
- { build: 'cmake' , arch: 'arm64', compiler: 'clang' }
fail-fast: false
architecture: ${{ matrix.arch }}
run: |
# https://ports.freebsd.org/
- sudo pkg install -y autoconf automake libtool pkgconf brotli openldap26-client libidn2 libnghttp2 nghttp2 stunnel py39-openssl py39-impacket py39-cryptography
+ pkgs='autoconf automake libtool pkgconf brotli openldap26-client libidn2 libnghttp2 nghttp2 stunnel'
+ if [ '${{ matrix.arch }}' = 'x86_64' ]; then
+ pkgs="${pkgs} py311-openssl py311-impacket py311-cryptography"
+ else
+ pkgs="${pkgs} py39-openssl py39-impacket py39-cryptography"
+ fi
+ sudo pkg install -y ${pkgs}
autoreconf -fi
export CC='${{ matrix.compiler }}'
mkdir bld && cd bld && ../configure --enable-debug --enable-warnings --enable-werror \
src/curl --disable --version
make -j3 examples
if [ '${{ matrix.arch }}' = 'x86_64' ]; then # Slow on emulated CPU
- export TFLAGS='-j12'
- make check V=1
+ make -j3 -C tests
+ # The OpenSSH server instance for the testsuite cannot be started on FreeBSD,
+ # therefore the SFTP and SCP tests are disabled right away from the beginning.
+ make test-ci V=1 TFLAGS='-j12 !SFTP !SCP'
fi
- name: 'cmake'
architecture: ${{ matrix.arch }}
run: |
# https://ports.freebsd.org/
- sudo pkg install -y cmake pkgconf brotli openldap26-client libidn2 libnghttp2 nghttp2 stunnel py39-openssl py39-impacket py39-cryptography
+ pkgs='cmake pkgconf brotli openldap26-client libidn2 libnghttp2 nghttp2 stunnel'
+ if [ '${{ matrix.arch }}' = 'x86_64' ]; then
+ pkgs="${pkgs} py311-openssl py311-impacket py311-cryptography"
+ else
+ pkgs="${pkgs} py39-openssl py39-impacket py39-cryptography"
+ fi
+ sudo pkg install -y ${pkgs}
cmake -B bld \
'-DCMAKE_C_COMPILER=${{ matrix.compiler }}' \
-DCMAKE_UNITY_BUILD=ON \
bld/src/curl --disable --version
if [ '${{ matrix.arch }}' = 'x86_64' ]; then # Slow on emulated CPU
cmake --build bld --config Debug --parallel 3 --target testdeps
- export TFLAGS='-j12'
- cmake --build bld --config Debug --target test-ci
+ # The OpenSSH server instance for the testsuite cannot be started on FreeBSD,
+ # therefore the SFTP and SCP tests are disabled right away from the beginning.
+ make test-ci V=1 TFLAGS='-j12 !SFTP !SCP'
fi
omnios:
gmake -j3 install
src/curl --disable --version
gmake -j3 examples
- export TFLAGS='-j12 ~MQTT ~FTP'
- gmake check V=1
+ gmake -j3 -C tests
+ gmake test-ci V=1 TFLAGS='-j12 ~MQTT ~FTP'