From 187f152a1d187bdbc6780145bd4fdbcfb6dded3d Mon Sep 17 00:00:00 2001 From: Marc Hoersken Date: Tue, 4 Oct 2022 22:30:33 +0200 Subject: [PATCH] CI/GHA: merge msh3 and openssl3 builds into linux workflow Continue work on merging all Linux workflows into one file. Follow up to #9501 Closes #9646 --- .github/workflows/linux.yml | 55 ++++++++++++++++++++++ .github/workflows/msh3.yml | 73 ------------------------------ .github/workflows/openssl3.yml | 83 ---------------------------------- 3 files changed, 55 insertions(+), 156 deletions(-) delete mode 100644 .github/workflows/msh3.yml delete mode 100644 .github/workflows/openssl3.yml diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index a468680bc5..40525711d7 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -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 index d536668d69..0000000000 --- a/.github/workflows/msh3.yml +++ /dev/null @@ -1,73 +0,0 @@ -# Copyright (C) 2000 - 2022 Daniel Stenberg, , 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 index 5fb7fbf092..0000000000 --- a/.github/workflows/openssl3.yml +++ /dev/null @@ -1,83 +0,0 @@ -# Copyright (C) 2000 - 2022 Daniel Stenberg, , 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 }}" -- 2.47.3