]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
CI/GHA: merge msh3 and openssl3 builds into linux workflow
authorMarc Hoersken <info@marc-hoersken.de>
Tue, 4 Oct 2022 20:30:33 +0000 (22:30 +0200)
committerMarc Hoersken <info@marc-hoersken.de>
Fri, 7 Oct 2022 19:47:51 +0000 (21:47 +0200)
Continue work on merging all Linux workflows into one file.

Follow up to #9501
Closes #9646

.github/workflows/linux.yml
.github/workflows/msh3.yml [deleted file]
.github/workflows/openssl3.yml [deleted file]

index a468680bc5774255c401dd8dfe034d75747ff106..40525711d7ef102a4ca35faa084b2463e87bc550 100644 (file)
@@ -56,6 +56,26 @@ jobs:
           install_steps: mbedtls
           configure: CC=clang LDFLAGS="-Wl,-rpath,$HOME/mbed/lib" --with-mbedtls=$HOME/mbed --enable-debug
 
+        - name: msh3
+          install_packages: libpsl-dev libbrotli-dev libzstd-dev zlib1g-dev
+          install_steps: quictls msh3
+          configure: LDFLAGS="-Wl,-rpath,$HOME/msh3/lib -Wl,-rpath,$HOME/quictls/lib" --with-msh3=$HOME/msh3 --with-openssl=$HOME/quictls --enable-debug
+
+        - name: openssl3
+          install_packages: libpsl-dev libbrotli-dev libzstd-dev zlib1g-dev
+          install_steps: gcc-11 openssl3
+          configure: LDFLAGS="-Wl,-rpath,$HOME/openssl3/lib64" --with-openssl=$HOME/openssl3 --enable-debug --enable-websockets
+
+        - name: openssl3-O3
+          install_packages: libpsl-dev libbrotli-dev libzstd-dev zlib1g-dev
+          install_steps: gcc-11 openssl3
+          configure: CFLAGS=-O3 LDFLAGS="-Wl,-rpath,$HOME/openssl3/lib64" --with-openssl=$HOME/openssl3 --enable-debug --enable-websockets
+
+        - name: openssl3-clang
+          install_packages: libpsl-dev libbrotli-dev libzstd-dev zlib1g-dev clang
+          install_steps: openssl3
+          configure: CC=clang LDFLAGS="-Wl,-rpath,$HOME/openssl3/lib64" --with-openssl=$HOME/openssl3 --enable-debug --enable-websockets
+
         - name: event-based
           install_packages: libpsl-dev libbrotli-dev libzstd-dev libssh-dev
           configure: --enable-debug --disable-shared --disable-threaded-resolver --with-libssh --with-openssl
@@ -91,6 +111,16 @@ jobs:
         sudo python3 -m pip install impacket
       name: 'install prereqs and impacket'
 
+    - if: ${{ contains(matrix.build.install_steps, 'gcc-11') }}
+      run: |
+        sudo add-apt-repository ppa:ubuntu-toolchain-r/ppa
+        sudo apt-get update
+        sudo apt-get install gcc-11
+        sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 100
+        sudo update-alternatives --set gcc /usr/bin/gcc-11
+        gcc --version
+      name: 'install gcc-11'
+
     - if: ${{ contains(matrix.build.install_steps, 'bearssl') }}
       run: |
         curl -LO https://bearssl.org/bearssl-0.6.tar.gz
@@ -118,6 +148,31 @@ jobs:
         make DESTDIR=$HOME/mbed install
       name: 'install mbedtls'
 
+    - if: ${{ contains(matrix.build.install_steps, 'openssl3') }}
+      run: |
+        git clone --depth=1 https://github.com/openssl/openssl
+        cd openssl
+        ./config enable-tls1_3 --prefix=$HOME/openssl3
+        make install_sw
+      name: 'install openssl'
+
+    - if: ${{ contains(matrix.build.install_steps, 'quictls') }}
+      run: |
+        git clone --depth=1 -b OpenSSL_1_1_1j+quic https://github.com/quictls/openssl
+        cd openssl
+        ./config enable-tls1_3 --prefix=$HOME/quictls
+        make install_sw
+      name: 'install quictls'
+
+    - if: ${{ contains(matrix.build.install_steps, 'msh3') }}
+      run: |
+        git clone --depth=1 --recursive https://github.com/nibanks/msh3
+        cd msh3 && mkdir build && cd build
+        cmake -G 'Unix Makefiles' -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=$HOME/msh3 ..
+        cmake --build .
+        cmake --install .
+      name: 'install msh3'
+
     - if: ${{ contains(matrix.build.install_steps, 'rust') }}
       run: |
         cd $HOME
diff --git a/.github/workflows/msh3.yml b/.github/workflows/msh3.yml
deleted file mode 100644 (file)
index d536668..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright (C) 2000 - 2022 Daniel Stenberg, <daniel@haxx.se>, et al.
-#
-# SPDX-License-Identifier: curl
-
-name: Linux
-
-on:
-  push:
-    branches:
-    - master
-    - '*/ci'
-  pull_request:
-    branches:
-    - master
-
-concurrency:
-  # Hardcoded workflow filename as workflow name above is just Linux again
-  group: msh3-${{ github.event.pull_request.number || github.sha }}
-  cancel-in-progress: true
-
-jobs:
-  autotools:
-    name: ${{ matrix.build.name }}
-    runs-on: 'ubuntu-latest'
-    timeout-minutes: 60
-    strategy:
-      fail-fast: false
-      matrix:
-        build:
-        - name: msh3
-          install: libpsl-dev libbrotli-dev libzstd-dev zlib1g-dev
-          configure: LDFLAGS="-Wl,-rpath,$HOME/msh3/lib -Wl,-rpath,$HOME/quictls/lib" --with-msh3=$HOME/msh3 --enable-debug --enable-werror --with-openssl=$HOME/quictls
-
-    steps:
-    - run: |
-        sudo apt-get update
-        sudo apt-get install libtool autoconf automake pkg-config stunnel4 ${{ matrix.build.install }}
-        sudo python3 -m pip install impacket
-      name: 'install prereqs and impacket'
-
-    - run: |
-        git clone --depth 1 -b OpenSSL_1_1_1j+quic https://github.com/quictls/openssl ossl
-        cd ossl
-        ./config enable-tls1_3 --prefix=$HOME/quictls
-        make install_sw
-      name: 'install quictls'
-
-    - run: |
-        git clone --depth 1 --recursive https://github.com/nibanks/msh3
-        cd msh3 && mkdir build && cd build
-        cmake -G 'Unix Makefiles' -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=$HOME/msh3 ..
-        cmake --build .
-        cmake --install .
-      name: 'install msh3'
-
-    - uses: actions/checkout@v3
-
-    - run: autoreconf -fi
-      name: 'autoreconf'
-
-    - run: ./configure --enable-warnings --enable-werror ${{ matrix.build.configure }}
-      name: 'configure'
-
-    - run: make V=1
-      name: 'make'
-
-    - run: make V=1 -C tests
-      name: 'make tests'
-
-    - run: make V=1 test-ci
-      name: 'run tests'
-      env:
-        TFLAGS: "${{ matrix.build.tflags }}"
diff --git a/.github/workflows/openssl3.yml b/.github/workflows/openssl3.yml
deleted file mode 100644 (file)
index 5fb7fbf..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-# Copyright (C) 2000 - 2022 Daniel Stenberg, <daniel@haxx.se>, et al.
-#
-# SPDX-License-Identifier: curl
-
-name: Linux
-
-on:
-  push:
-    branches:
-    - master
-    - '*/ci'
-  pull_request:
-    branches:
-    - master
-
-concurrency:
-  # Hardcoded workflow filename as workflow name above is just Linux again
-  group: openssl3-${{ github.event.pull_request.number || github.sha }}
-  cancel-in-progress: true
-
-jobs:
-  autotools:
-    name: ${{ matrix.build.name }}
-    runs-on: 'ubuntu-latest'
-    timeout-minutes: 60
-    strategy:
-      fail-fast: false
-      matrix:
-        build:
-        - name: openssl3
-          install: libpsl-dev libbrotli-dev libzstd-dev zlib1g-dev
-          configure: LDFLAGS="-Wl,-rpath,$HOME/openssl3/lib64" --with-openssl=$HOME/openssl3 --enable-debug
-        - name: openssl3-clang
-          install: libpsl-dev libbrotli-dev libzstd-dev zlib1g-dev clang
-          configure: CC=clang LDFLAGS="-Wl,-rpath,$HOME/openssl3/lib64" --with-openssl=$HOME/openssl3 --enable-debug
-        - name: openssl3-O3
-          install: libpsl-dev libbrotli-dev libzstd-dev zlib1g-dev
-          configure: CFLAGS=-O3 LDFLAGS="-Wl,-rpath,$HOME/openssl3/lib64" --with-openssl=$HOME/openssl3 --enable-debug
-
-    steps:
-    - run: |
-        sudo add-apt-repository ppa:ubuntu-toolchain-r/ppa
-        sudo apt-get update
-        sudo apt-get install libtool autoconf automake pkg-config stunnel4 ${{ matrix.build.install }} gcc-11
-        sudo python3 -m pip install impacket
-      name: 'install prereqs and impacket'
-
-    - run: |
-        git clone --depth=1 https://github.com/openssl/openssl
-        cd openssl
-        ./config enable-tls1_3 --prefix=$HOME/openssl3
-        make install_sw
-      name: 'install openssl3'
-
-    - uses: actions/checkout@v3
-
-    - run: |
-        sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 100
-        sudo update-alternatives --set gcc /usr/bin/gcc-11
-      name: 'switch to gcc-11'
-
-    - run: gcc --version
-      name: 'check gcc version'
-
-    - run: autoreconf -fi
-      name: 'autoreconf'
-
-    - run: ./configure --enable-warnings --enable-werror ${{ matrix.build.configure }} --enable-websockets
-      name: 'configure'
-
-    - run: make V=1
-      name: 'make'
-
-    - run: make V=1 examples
-      name: 'make examples'
-
-    - run: make V=1 -C tests
-      name: 'make tests'
-
-    - run: make V=1 test-ci
-      name: 'run tests'
-      env:
-        TFLAGS: "${{ matrix.build.tflags }}"