123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155 |
- # Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
- #
- # SPDX-License-Identifier: curl
- name: Linux AWS-LC
- on:
- push:
- branches:
- - master
- - '*/ci'
- paths-ignore:
- - '**/*.md'
- - '.azure-pipelines.yml'
- - '.circleci/**'
- - '.cirrus.yml'
- - 'appveyor.*'
- - 'packages/**'
- - 'plan9/**'
- - 'projects/**'
- - 'winbuild/**'
- pull_request:
- branches:
- - master
- paths-ignore:
- - '**/*.md'
- - '.azure-pipelines.yml'
- - '.circleci/**'
- - '.cirrus.yml'
- - 'appveyor.*'
- - 'packages/**'
- - 'plan9/**'
- - 'projects/**'
- - 'winbuild/**'
- concurrency:
- # Hardcoded workflow filename as workflow name above is just Linux again
- group: awslc-${{ github.event.pull_request.number || github.sha }}
- cancel-in-progress: true
- permissions: {}
- env:
- MAKEFLAGS: -j 3
- # renovate: datasource=github-tags depName=awslabs/aws-lc versioning=semver registryUrl=https://github.com
- awslc-version: 1.26.0
- jobs:
- autoconf:
- name: awslc (autoconf)
- runs-on: 'ubuntu-latest'
- timeout-minutes: 30
- steps:
- - run: |
- sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
- sudo apt-get update
- sudo apt-get install --yes libtool autoconf automake pkg-config stunnel4 libpsl-dev
- # ensure we don't pick up openssl in this build
- sudo apt remove --yes libssl-dev
- sudo python3 -m pip install impacket
- name: 'install prereqs and impacket'
- - name: cache awslc
- uses: actions/cache@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: 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 -DCMAKE_INSTALL_PREFIX=$HOME/awslc ../aws-lc-${{ env.awslc-version }}
- cmake --build . --parallel
- cmake --install .
- - uses: actions/checkout@v4
- - run: autoreconf -fi
- name: 'autoreconf'
- - run: |
- mkdir build
- cd build
- ../configure --enable-warnings --enable-werror --with-openssl=$HOME/awslc
- cd ..
- name: 'configure out-of-tree'
- - run: make -C build V=1
- name: 'make'
- - run: make -C build V=1 examples
- name: 'make examples'
- - run: make -C build V=1 -C tests
- name: 'make tests'
- - run: make -C build V=1 test-ci
- name: 'run tests'
- cmake:
- name: awslc (cmake)
- runs-on: 'ubuntu-latest'
- timeout-minutes: 15
- steps:
- - run: |
- sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
- sudo apt-get update
- sudo apt-get install cmake stunnel4
- # ensure we don't pick up openssl in this build
- sudo apt remove --yes libssl-dev
- sudo python3 -m pip install impacket
- name: 'install prereqs and impacket'
- - name: cache awslc
- uses: actions/cache@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: 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 -DCMAKE_INSTALL_PREFIX=$HOME/awslc ../aws-lc-${{ env.awslc-version }}
- cmake --build . --parallel
- cmake --install .
- - uses: actions/checkout@v4
- - run: cmake -Bbuild -DCMAKE_UNITY_BUILD=ON -DCURL_WERROR=ON -DOPENSSL_ROOT_DIR=$HOME/awslc -DBUILD_SHARED_LIBS=ON .
- name: 'cmake generate out-of-tree'
- - run: cmake --build build --parallel
- name: 'cmake build'
- - run: cmake --install build --prefix $HOME/curl --strip
- name: 'cmake install'
|