]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
GHA/linux: merge 32-bit Linux workflow
authorViktor Szakats <commit@vsz.me>
Tue, 22 Oct 2024 19:08:12 +0000 (21:08 +0200)
committerViktor Szakats <commit@vsz.me>
Tue, 22 Oct 2024 21:38:13 +0000 (23:38 +0200)
Also:
- tidy up a step condition.

Closes #15370

.github/workflows/linux.yml
.github/workflows/linux32.yml [deleted file]

index b06ea9d5e79453383ed12b253ed1697ed466b845..72ef3de6c0f4613d5e962ea874de2955d0861664 100644 (file)
@@ -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 (file)
index d39dae8..0000000
+++ /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'