From: Viktor Szakats Date: Tue, 22 Oct 2024 19:08:12 +0000 (+0200) Subject: GHA/linux: merge 32-bit Linux workflow X-Git-Tag: curl-8_11_0~93 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=605bc2d2c65a69cadfebb459fdd6699214c27ca9;p=thirdparty%2Fcurl.git GHA/linux: merge 32-bit Linux workflow Also: - tidy up a step condition. Closes #15370 --- diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index b06ea9d5e7..72ef3de6c0 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -197,6 +197,16 @@ jobs: tflags: -t --shallow=20 FTP torture: true + - name: openssl i686 + install_packages: gcc-14-i686-linux-gnu libssl-dev:i386 librtmp-dev:i386 libssh2-1-dev:i386 libidn2-0-dev:i386 libc-ares-dev:i386 zlib1g-dev:i386 + configure: >- + PKG_CONFIG_PATH=/usr/lib/i386-linux-gnu/pkgconfig + CC=i686-linux-gnu-gcc-14 + CPPFLAGS=-I/usr/include/i386-linux-gnu + LDFLAGS=-L/usr/lib/i386-linux-gnu + --host=i686-linux-gnu + --with-openssl --with-librtmp --with-libssh2 --with-libidn2 --enable-ares --enable-debug + - name: '!ssl !http !smtp !imap' configure: --without-ssl --enable-debug --disable-http --disable-smtp --disable-imap --disable-unity @@ -267,11 +277,24 @@ jobs: container: 'alpine:3.18' steps: - - if: matrix.build.container == null + - if: matrix.build.container == null && !contains(matrix.build.name, 'i686') + run: | + sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list + sudo apt-get update -y + sudo apt-get install -y \ + libtool autoconf automake pkgconf ninja-build stunnel4 \ + libpsl-dev libbrotli-dev libzstd-dev \ + ${{ matrix.build.install_packages }} + name: 'install prereqs' + + - if: contains(matrix.build.name, 'i686') run: | sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list + sudo dpkg --add-architecture i386 sudo apt-get update -y - sudo apt-get install libtool autoconf automake ninja-build pkgconf stunnel4 libpsl-dev libbrotli-dev libzstd-dev \ + sudo apt-get install -y --no-install-suggests --no-install-recommends \ + libtool autoconf automake pkgconf stunnel4 \ + libpsl-dev:i386 libbrotli-dev:i386 libzstd-dev:i386 \ ${{ matrix.build.install_packages }} name: 'install prereqs' @@ -588,7 +611,7 @@ jobs: fi - name: 'install test prereqs' - if: ${{ matrix.build.install_steps != 'skipall' && !startsWith(matrix.build.container, 'alpine') && matrix.build.container == null }} + if: ${{ matrix.build.install_steps != 'skipall' && matrix.build.container == null }} run: | sudo python3 -m pip install --break-system-packages -r tests/requirements.txt diff --git a/.github/workflows/linux32.yml b/.github/workflows/linux32.yml deleted file mode 100644 index d39dae828b..0000000000 --- a/.github/workflows/linux32.yml +++ /dev/null @@ -1,100 +0,0 @@ -# Copyright (C) Dan Fandrich -# -# SPDX-License-Identifier: curl - -name: Linux 32-bit - -'on': - push: - branches: - - master - - '*/ci' - paths-ignore: - - '**/*.md' - - '**/CMakeLists.txt' - - '.circleci/**' - - 'appveyor.*' - - 'CMake/**' - - 'packages/**' - - 'plan9/**' - - 'projects/**' - - 'winbuild/**' - pull_request: - branches: - - master - paths-ignore: - - '**/*.md' - - '**/CMakeLists.txt' - - '.circleci/**' - - 'appveyor.*' - - 'CMake/**' - - 'packages/**' - - 'plan9/**' - - 'projects/**' - - 'winbuild/**' - -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }} - cancel-in-progress: true - -permissions: {} - -env: - MAKEFLAGS: -j 5 - -jobs: - linux-i686: - name: ${{ matrix.build.name }} - runs-on: 'ubuntu-24.04' - timeout-minutes: 90 - strategy: - fail-fast: false - matrix: - build: - - name: Linux i686 - install_packages: gcc-14-i686-linux-gnu libssl-dev:i386 librtmp-dev:i386 libssh2-1-dev:i386 libidn2-0-dev:i386 libc-ares-dev:i386 zlib1g-dev:i386 libpsl-dev:i386 libbrotli-dev:i386 libzstd-dev:i386 - configure: --enable-debug --with-openssl --with-librtmp --with-libssh2 --with-libidn2 --enable-ares --host=i686-linux-gnu CC=i686-linux-gnu-gcc-14 PKG_CONFIG_PATH=/usr/lib/i386-linux-gnu/pkgconfig CPPFLAGS=-I/usr/include/i386-linux-gnu LDFLAGS=-L/usr/lib/i386-linux-gnu - - steps: - - run: | - sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list - sudo dpkg --add-architecture i386 - sudo apt-get update -y - sudo apt-get install -y --no-install-suggests --no-install-recommends libtool autoconf automake pkgconf stunnel4 ${{ matrix.build.install_packages }} - name: 'install prereqs' - - - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4 - - - run: autoreconf -fi - name: 'autoreconf' - - - run: | - ./configure --disable-dependency-tracking --enable-unity --enable-test-bundles --enable-warnings --enable-werror \ - ${{ matrix.build.configure }} - name: 'configure' - - - name: 'curl_config.h' - run: | - echo '::group::raw'; cat lib/curl_config.h || true; echo '::endgroup::' - grep -F '#define' lib/curl_config.h | sort || true - - - run: make V=1 - name: 'make' - - - run: ./src/curl -V - name: 'check curl -V output' - - - run: make V=1 -C tests - name: 'make tests' - - - name: 'install test prereqs' - run: | - sudo python3 -m pip install --break-system-packages -r tests/requirements.txt - - - run: make V=1 test-ci - name: 'run tests' - env: - TFLAGS: "${{ matrix.build.tflags }}" - - - run: make V=1 examples - name: 'make examples'