]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
CI/GHA: merge bearssl and hyper into initial linux workflow
authorMarc Hoersken <info@marc-hoersken.de>
Tue, 13 Sep 2022 19:13:17 +0000 (21:13 +0200)
committerMarc Hoersken <info@marc-hoersken.de>
Wed, 14 Sep 2022 18:01:59 +0000 (20:01 +0200)
Begin work on merging all Linux workflows into one file.

Closes #9501

.github/workflows/bearssl.yml [deleted file]
.github/workflows/linux.yml [moved from .github/workflows/linux-hyper.yml with 58% similarity]

diff --git a/.github/workflows/bearssl.yml b/.github/workflows/bearssl.yml
deleted file mode 100644 (file)
index 7c20f88..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright (C) 2000 - 2022 Daniel Stenberg, <daniel@haxx.se>, et al.
-#
-# SPDX-License-Identifier: curl
-
-name: Linux
-
-on:
-  # Trigger the workflow on push or pull requests, but only for the
-  # master branch
-  push:
-    branches:
-    - master
-    - '*/ci'
-  pull_request:
-    branches:
-    - master
-
-jobs:
-  autotools:
-    name: ${{ matrix.build.name }}
-    runs-on: 'ubuntu-latest'
-    timeout-minutes: 60
-    strategy:
-      fail-fast: false
-      matrix:
-        build:
-        - name: bearssl
-          install: libpsl-dev libbrotli-dev libzstd-dev zlib1g-dev
-          configure: LDFLAGS="-Wl,-rpath,$HOME/bear/lib" --with-bearssl=$HOME/bear --enable-debug
-        - name: bearssl-clang
-          install: libpsl-dev libbrotli-dev libzstd-dev zlib1g-dev clang
-          configure: CC=clang LDFLAGS="-Wl,-rpath,$HOME/bear/lib" --with-bearssl=$HOME/bear --enable-debug
-
-    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: |
-        curl -LO https://bearssl.org/bearssl-0.6.tar.gz
-        tar -xzf bearssl-0.6.tar.gz
-        cd bearssl-0.6
-        make
-        mkdir -p $HOME/bear/lib $HOME/bear/include
-        cp inc/*.h $HOME/bear/include
-        cp build/libbearssl.* $HOME/bear/lib
-      name: 'install bearssl'
-
-    - 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 examples
-      name: 'make examples'
-
-    - run: make V=1 test-ci
-      name: 'test'
-      env:
-        TFLAGS: "${{ matrix.build.tflags }}"
similarity index 58%
rename from .github/workflows/linux-hyper.yml
rename to .github/workflows/linux.yml
index cc524b2f18e69574e70c0daf2dedcb1ceea3b2d4..84dbc5e28b78906eaf18821fbdaf6f2fe61fd8d5 100644 (file)
@@ -24,28 +24,53 @@ jobs:
       fail-fast: false
       matrix:
         build:
+        - name: bearssl
+          install_packages: libpsl-dev libbrotli-dev libzstd-dev zlib1g-dev
+          install_steps: bearssl
+          configure: LDFLAGS="-Wl,-rpath,$HOME/bear/lib" --with-bearssl=$HOME/bear --enable-debug
+
+        - name: bearssl-clang
+          install_packages: libpsl-dev libbrotli-dev libzstd-dev zlib1g-dev clang
+          install_steps: bearssl
+          configure: CC=clang LDFLAGS="-Wl,-rpath,$HOME/bear/lib" --with-bearssl=$HOME/bear --enable-debug
+
         - name: hyper
-          install:
+          install_steps: rust hyper
           configure: LDFLAGS="-Wl,-rpath,$HOME/hyper/target/debug" --with-openssl --with-hyper=$HOME/hyper --enable-debug --enable-websockets
 
     steps:
     - run: |
         sudo apt-get update
-        sudo apt-get install libtool autoconf automake pkg-config stunnel4 ${{ matrix.build.install }}
+        sudo apt-get install libtool autoconf automake pkg-config stunnel4 ${{ matrix.build.install_packages }}
         sudo python3 -m pip install impacket
       name: 'install prereqs and impacket'
 
-    - run: |
+    - if: ${{ contains(matrix.build.install_steps, 'bearssl') }}
+      run: |
+        curl -LO https://bearssl.org/bearssl-0.6.tar.gz
+        tar -xzf bearssl-0.6.tar.gz
+        cd bearssl-0.6
+        make
+        mkdir -p $HOME/bear/lib $HOME/bear/include
+        cp inc/*.h $HOME/bear/include
+        cp build/libbearssl.* $HOME/bear/lib
+      name: 'install bearssl'
+
+    - if: ${{ contains(matrix.build.install_steps, 'rust') }}
+      run: |
         cd $HOME
-        git clone --depth=1 https://github.com/hyperium/hyper.git
         curl https://sh.rustup.rs -sSf | sh -s -- -y
         source $HOME/.cargo/env
         rustup toolchain install nightly
       name: 'install rust'
 
-    - run: |
+    - if: ${{ contains(matrix.build.install_steps, 'hyper') }}
+      run: |
+        cd $HOME
+        git clone --depth=1 https://github.com/hyperium/hyper.git
         cd $HOME/hyper
         RUSTFLAGS="--cfg hyper_unstable_ffi" cargo +nightly rustc --features client,http1,http2,ffi -Z unstable-options --crate-type cdylib
+        echo "LD_LIBRARY_PATH=$HOME/hyper/target/debug:/usr/local/lib" >> $GITHUB_ENV
       name: 'install hyper'
 
     - uses: actions/checkout@v3
@@ -65,5 +90,4 @@ jobs:
     - run: make V=1 test-ci
       name: 'test'
       env:
-        LD_LIBRARY_PATH: $HOME/hyper/target/debug:/usr/local/lib
         TFLAGS: "${{ matrix.build.tflags }}"