mirror of
https://github.com/curl/curl.git
synced 2026-04-11 12:01:42 +08:00
By setting `DEBIAN_FRONTEND=noninteractive`.
Also:
- add `curl -V` step to CircleCI jobs.
- drop duplicate `libpsl` from `apt install`.
- replace sudo pip with venv, fixing a warning and syncing with GHA.
- Note that test 1459 was disabled on Ubuntu 20.04 due to past issues.
When running on newer CircleCI Ubuntu runners (22.04 or 24.04), the
test is not disabled, and also fails with the issue seen in the past.
I've identified the root cause and will fix it in a separate PR.
Ref: https://circleci.com/developer/images?imageType=machine
Ref: https://discuss.circleci.com/t/ubuntu-20-04-22-04-24-04-q3-current-release/51856/7
Ref: https://app.circleci.com/pipelines/github/curl/curl/16450/workflows/af1f2a99-6452-4cc3-96c1-18a217ebabfc/jobs/155194
Follow-up to 8ba10a790a #19546
Closes #19549
201 lines
5.0 KiB
YAML
201 lines
5.0 KiB
YAML
#***************************************************************************
|
|
# _ _ ____ _
|
|
# 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
|
|
#
|
|
###########################################################################
|
|
|
|
# View these jobs in the browser: https://app.circleci.com/pipelines/github/curl/curl
|
|
|
|
# Use the latest 2.1 version of CircleCI pipeline process engine. See: https://circleci.com/docs/configuration-reference/
|
|
version: 2.1
|
|
|
|
commands:
|
|
install-cares:
|
|
steps:
|
|
- run:
|
|
command: |
|
|
sudo apt-get update && sudo apt-get install -y libc-ares-dev
|
|
|
|
install-libssh:
|
|
steps:
|
|
- run:
|
|
command: |
|
|
export DEBIAN_FRONTEND=noninteractive
|
|
sudo apt-get update && sudo apt-get install -y libssh-dev
|
|
|
|
install-deps:
|
|
steps:
|
|
- run:
|
|
command: |
|
|
sudo apt-get update && sudo apt-get install -y libpsl-dev libbrotli-dev libzstd-dev zlib1g-dev python3-pip
|
|
python3 -m venv ~/venv
|
|
~/venv/bin/pip --disable-pip-version-check --no-input --no-cache-dir install --progress-bar off --prefer-binary -r tests/requirements.txt
|
|
|
|
configure:
|
|
steps:
|
|
- run:
|
|
command: |
|
|
autoreconf -fi
|
|
./configure --disable-dependency-tracking --enable-option-checking=fatal --enable-unity --enable-werror --enable-warnings \
|
|
--with-openssl \
|
|
|| { tail -1000 config.log; false; }
|
|
|
|
configure-no-proxy:
|
|
steps:
|
|
- run:
|
|
command: |
|
|
autoreconf -fi
|
|
./configure --disable-dependency-tracking --enable-option-checking=fatal --enable-unity --enable-werror \
|
|
--with-openssl --disable-proxy \
|
|
|| { tail -1000 config.log; false; }
|
|
|
|
configure-libssh:
|
|
steps:
|
|
- run:
|
|
command: |
|
|
autoreconf -fi
|
|
./configure --disable-dependency-tracking --enable-option-checking=fatal --enable-unity --enable-werror --enable-warnings \
|
|
--with-openssl --with-libssh \
|
|
|| { tail -1000 config.log; false; }
|
|
|
|
configure-cares:
|
|
steps:
|
|
- run:
|
|
command: |
|
|
autoreconf -fi
|
|
./configure --disable-dependency-tracking --enable-option-checking=fatal --enable-unity --enable-werror --enable-warnings \
|
|
--with-openssl --enable-ares \
|
|
|| { tail -1000 config.log; false; }
|
|
|
|
configure-cares-debug:
|
|
steps:
|
|
- run:
|
|
command: |
|
|
autoreconf -fi
|
|
./configure --disable-dependency-tracking --enable-option-checking=fatal --enable-unity --enable-werror --enable-debug \
|
|
--with-openssl --enable-ares \
|
|
|| { tail -1000 config.log; false; }
|
|
|
|
build:
|
|
steps:
|
|
- run: make -j3 V=1
|
|
- run: src/curl --disable --version
|
|
- run: make -j3 V=1 examples
|
|
|
|
test:
|
|
steps:
|
|
- run:
|
|
command: |
|
|
source ~/venv/bin/activate
|
|
make -j3 V=1 test-ci TFLAGS='-j14'
|
|
|
|
executors:
|
|
ubuntu:
|
|
machine:
|
|
image: ubuntu-2204:2025.09.1
|
|
|
|
jobs:
|
|
basic:
|
|
executor: ubuntu
|
|
steps:
|
|
- checkout
|
|
- install-deps
|
|
- configure
|
|
- build
|
|
- test
|
|
|
|
no-proxy:
|
|
executor: ubuntu
|
|
steps:
|
|
- checkout
|
|
- install-deps
|
|
- configure-no-proxy
|
|
- build
|
|
- test
|
|
|
|
cares:
|
|
executor: ubuntu
|
|
steps:
|
|
- checkout
|
|
- install-deps
|
|
- install-cares
|
|
- configure-cares
|
|
- build
|
|
- test
|
|
|
|
libssh:
|
|
executor: ubuntu
|
|
steps:
|
|
- checkout
|
|
- install-deps
|
|
- install-libssh
|
|
- configure-libssh
|
|
- build
|
|
- test
|
|
|
|
arm:
|
|
machine:
|
|
image: ubuntu-2204:2025.09.1
|
|
resource_class: arm.medium
|
|
steps:
|
|
- checkout
|
|
- install-deps
|
|
- configure
|
|
- build
|
|
- test
|
|
|
|
arm-cares:
|
|
machine:
|
|
image: ubuntu-2204:2025.09.1
|
|
resource_class: arm.medium
|
|
steps:
|
|
- checkout
|
|
- install-deps
|
|
- install-cares
|
|
- configure-cares-debug
|
|
- build
|
|
- test
|
|
|
|
workflows:
|
|
x86-openssl:
|
|
jobs:
|
|
- basic
|
|
|
|
openssl-c-ares:
|
|
jobs:
|
|
- cares
|
|
|
|
openssl-libssh:
|
|
jobs:
|
|
- libssh
|
|
|
|
openssl-no-proxy:
|
|
jobs:
|
|
- no-proxy
|
|
|
|
arm-openssl:
|
|
jobs:
|
|
- arm
|
|
|
|
arm-openssl-c-ares:
|
|
jobs:
|
|
- arm-cares
|