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
This commit is contained in:
Marc Hoersken 2022-10-04 22:30:33 +02:00
Родитель 642404717c
Коммит 187f152a1d
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 61E03CBED7BC859E
3 изменённых файлов: 55 добавлений и 156 удалений

55
.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

73
.github/workflows/msh3.yml поставляемый
Просмотреть файл

@ -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 }}"

83
.github/workflows/openssl3.yml поставляемый
Просмотреть файл

@ -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 }}"