GHA/linux: merge AWS-LC workflow

Closes #15031
This commit is contained in:
Viktor Szakats 2024-09-24 15:01:26 +02:00
parent 820afa2b7c
commit 336b8ca54d
No known key found for this signature in database
GPG key ID: B5ABD165E2AEF201
2 changed files with 42 additions and 156 deletions

View file

@ -47,6 +47,8 @@ env:
mod_h2-version: 2.0.29
# renovate: datasource=github-tags depName=nibanks/msh3 versioning=semver registryUrl=https://github.com
msh3-version: 0.6.0
# renovate: datasource=github-tags depName=awslabs/aws-lc versioning=semver registryUrl=https://github.com
awslc-version: 1.34.2
# handled in renovate.json
openssl3-version: openssl-3.1.3
# unhandled
@ -124,6 +126,18 @@ jobs:
configure: LDFLAGS="-Wl,-rpath,$HOME/msh3/lib -Wl,-rpath,$HOME/quictls/lib" --with-msh3=$HOME/msh3 --with-openssl=$HOME/quictls --enable-debug
singleuse: --unit
- name: awslc
install_packages: zlib1g-dev
install_steps: awslc
configure: LDFLAGS="-Wl,-rpath,$HOME/awslc/lib" --with-openssl=$HOME/awslc
singleuse: --unit
- name: awslc
install_packages: zlib1g-dev
install_steps: awslc
generate: -DOPENSSL_ROOT_DIR=$HOME/awslc
singleuse: --unit
- name: openssl default
install_steps: pytest
configure: --with-openssl --enable-debug
@ -468,6 +482,28 @@ jobs:
cmake --build .
cmake --install .
- name: cache awslc
if: contains(matrix.build.install_steps, 'awslc')
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4
id: cache-awslc
env:
cache-name: cache-awslc
with:
path: /home/runner/awslc
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ env.awslc-version }}
- name: build awslc
if: contains(matrix.build.install_steps, 'awslc') && steps.cache-awslc.outputs.cache-hit != 'true'
run: |
curl -LOsSf --retry 6 --retry-connrefused --max-time 999 \
https://github.com/awslabs/aws-lc/archive/refs/tags/v${{ env.awslc-version }}.tar.gz
tar xzf v${{ env.awslc-version }}.tar.gz
mkdir aws-lc-${{ env.awslc-version }}-build
cd aws-lc-${{ env.awslc-version }}-build
cmake -G Ninja -DCMAKE_INSTALL_PREFIX=$HOME/awslc ../aws-lc-${{ env.awslc-version }}
cmake --build . --parallel
cmake --install .
- if: contains(matrix.build.install_steps, 'rust')
run: |
cd $HOME
@ -549,6 +585,7 @@ jobs:
name: 'autoreconf'
- run: |
[[ '${{ matrix.build.install_steps }}' = *'awslc'* ]] && sudo apt remove --yes libssl-dev
${{ matrix.build.configure-prefix }} \
./configure --disable-dependency-tracking --enable-unity --enable-test-bundles --enable-warnings --enable-werror \
${{ matrix.build.configure }}
@ -556,6 +593,7 @@ jobs:
name: 'configure (autotools)'
- run: |
[[ '${{ matrix.build.install_steps }}' = *'awslc'* ]] && sudo apt remove --yes libssl-dev
cmake . \
-DCMAKE_C_COMPILER_TARGET=$(uname -m)-pc-linux-gnu -DBUILD_STATIC_LIBS=ON \
-DCMAKE_UNITY_BUILD=ON -DCURL_TEST_BUNDLES=ON -DCURL_WERROR=ON \
@ -589,6 +627,10 @@ jobs:
- run: ./src/curl -V
name: 'check curl -V output'
- run: cmake --install . --prefix $HOME/curl --strip
if: ${{ matrix.build.generate }}
name: 'cmake install'
- run: make V=1 -C tests
if: ${{ matrix.build.configure && matrix.build.install_steps != 'skipall' }}
name: 'make tests (autotools)'