mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2026-07-08 03:00:48 +02:00
Composite GHA action with caching
This adds caching for apt and should make things a bit more stable and faster.
This commit is contained in:
@@ -0,0 +1,92 @@
|
||||
name: 'Install apt dependencies'
|
||||
description: 'Install apt packages with retry logic and caching'
|
||||
inputs:
|
||||
packages:
|
||||
description: 'Space-separated list of apt packages to install'
|
||||
required: true
|
||||
retries:
|
||||
description: 'Number of retry attempts'
|
||||
required: false
|
||||
default: '3'
|
||||
retry-delay:
|
||||
description: 'Initial delay between retries (seconds, doubles each attempt)'
|
||||
required: false
|
||||
default: '5'
|
||||
no-install-recommends:
|
||||
description: 'Pass --no-install-recommends to apt-get install'
|
||||
required: false
|
||||
default: 'false'
|
||||
cache:
|
||||
description: 'Cache apt archives (disable for dynamic package names)'
|
||||
required: false
|
||||
default: 'true'
|
||||
runs:
|
||||
using: 'composite'
|
||||
steps:
|
||||
- name: Compute cache key
|
||||
if: inputs.cache == 'true'
|
||||
id: cache-key
|
||||
shell: bash
|
||||
run: |
|
||||
SORTED_PKGS=$(echo "${{ inputs.packages }}" | tr ' ' '\n' | sort -u | tr '\n' ' ')
|
||||
PKG_HASH=$(echo "$SORTED_PKGS" | sha256sum | cut -d' ' -f1 | head -c 16)
|
||||
OS_VERSION=$(lsb_release -rs 2>/dev/null || echo "unknown")
|
||||
echo "key=apt-deps-${{ runner.os }}-${{ runner.arch }}-${OS_VERSION}-${PKG_HASH}" >> $GITHUB_OUTPUT
|
||||
echo "restore-key=apt-deps-${{ runner.os }}-${{ runner.arch }}-${OS_VERSION}-" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Restore apt cache
|
||||
if: inputs.cache == 'true'
|
||||
id: apt-cache
|
||||
uses: actions/cache/restore@v4
|
||||
with:
|
||||
path: ~/apt-cache
|
||||
key: ${{ steps.cache-key.outputs.key }}
|
||||
restore-keys: ${{ steps.cache-key.outputs.restore-key }}
|
||||
|
||||
- name: Pre-seed apt archives from cache
|
||||
if: inputs.cache == 'true' && steps.apt-cache.outputs.cache-hit == 'true'
|
||||
shell: bash
|
||||
run: |
|
||||
if [ -d ~/apt-cache ] && ls ~/apt-cache/*.deb >/dev/null 2>&1; then
|
||||
sudo cp ~/apt-cache/*.deb /var/cache/apt/archives/
|
||||
echo "Restored $(ls ~/apt-cache/*.deb | wc -l) cached .deb files"
|
||||
fi
|
||||
|
||||
- name: Install packages
|
||||
shell: bash
|
||||
run: |
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
RETRIES=${{ inputs.retries }}
|
||||
DELAY=${{ inputs.retry-delay }}
|
||||
NO_REC=""
|
||||
if [ "${{ inputs.no-install-recommends }}" = "true" ]; then
|
||||
NO_REC="--no-install-recommends"
|
||||
fi
|
||||
for i in $(seq 1 $RETRIES); do
|
||||
if sudo apt-get update -q && \
|
||||
sudo apt-get install -y $NO_REC ${{ inputs.packages }}; then
|
||||
exit 0
|
||||
fi
|
||||
if [ "$i" -eq "$RETRIES" ]; then
|
||||
echo "::error::apt-get failed after $RETRIES attempts"
|
||||
exit 1
|
||||
fi
|
||||
echo "::warning::apt-get failed (attempt $i/$RETRIES), retrying in ${DELAY}s..."
|
||||
sleep $DELAY
|
||||
DELAY=$((DELAY * 2))
|
||||
done
|
||||
|
||||
- name: Collect .deb files for cache
|
||||
if: inputs.cache == 'true' && steps.apt-cache.outputs.cache-hit != 'true'
|
||||
shell: bash
|
||||
run: |
|
||||
mkdir -p ~/apt-cache
|
||||
cp /var/cache/apt/archives/*.deb ~/apt-cache/ 2>/dev/null || true
|
||||
echo "Cached $(ls ~/apt-cache/*.deb 2>/dev/null | wc -l) .deb files"
|
||||
|
||||
- name: Save apt cache
|
||||
if: inputs.cache == 'true' && steps.apt-cache.outputs.cache-hit != 'true'
|
||||
uses: actions/cache/save@v4
|
||||
with:
|
||||
path: ~/apt-cache
|
||||
key: ${{ steps.cache-key.outputs.key }}
|
||||
@@ -56,11 +56,14 @@ jobs:
|
||||
if: ${{ failure() && steps.examples.outcome == 'failure' }}
|
||||
run: cat ./wrapper/Ada/examples/server.log
|
||||
|
||||
- name: Install valgrind
|
||||
uses: ./.github/actions/install-apt-deps
|
||||
with:
|
||||
packages: valgrind
|
||||
|
||||
- name: Run Ada wrapper tests (valgrind)
|
||||
working-directory: ./wrapper/Ada/tests
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y valgrind
|
||||
valgrind --leak-check=full --error-exitcode=1 \
|
||||
--suppressions=valgrind.supp ./bin/tests
|
||||
|
||||
|
||||
@@ -52,6 +52,12 @@ jobs:
|
||||
timeout-minutes: 10
|
||||
needs: build_wolfssl
|
||||
steps:
|
||||
- name: Checkout wolfSSL CI actions
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
sparse-checkout: .github/actions
|
||||
fetch-depth: 1
|
||||
|
||||
- name: Download lib
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
@@ -61,12 +67,9 @@ jobs:
|
||||
run: tar -xf build-dir.tgz
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
# Don't prompt for anything
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
sudo apt-get update
|
||||
# hostap dependencies
|
||||
sudo apt-get install -y libuv1-dev libnghttp2-dev libcap-dev libcmocka-dev liburcu-dev
|
||||
uses: ./.github/actions/install-apt-deps
|
||||
with:
|
||||
packages: libuv1-dev libnghttp2-dev libcap-dev libcmocka-dev liburcu-dev
|
||||
|
||||
- name: Checkout OSP
|
||||
uses: actions/checkout@v4
|
||||
|
||||
@@ -15,11 +15,10 @@ jobs:
|
||||
# pull wolfSSL
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
# install cmake and autotools
|
||||
- name: Install cmake
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y cmake autoconf automake libtool
|
||||
- name: Install cmake and autotools
|
||||
uses: ./.github/actions/install-apt-deps
|
||||
with:
|
||||
packages: cmake autoconf automake libtool
|
||||
|
||||
# build and install wolfssl via autotools for CMake consumer test
|
||||
- name: Build wolfssl with autotools
|
||||
|
||||
@@ -15,11 +15,10 @@ jobs:
|
||||
# pull wolfSSL
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
# install cmake
|
||||
- name: Install cmake
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y cmake
|
||||
uses: ./.github/actions/install-apt-deps
|
||||
with:
|
||||
packages: cmake
|
||||
|
||||
# build wolfssl
|
||||
- name: Build wolfssl
|
||||
|
||||
@@ -49,10 +49,16 @@ jobs:
|
||||
matrix:
|
||||
curl_ref: [ 'master', 'curl-8_4_0' ]
|
||||
steps:
|
||||
- name: Checkout wolfSSL CI actions
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
sparse-checkout: .github/actions
|
||||
fetch-depth: 1
|
||||
|
||||
- name: Install test dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install nghttp2 libpsl5 libpsl-dev python3-impacket apache2 apache2-dev
|
||||
uses: ./.github/actions/install-apt-deps
|
||||
with:
|
||||
packages: nghttp2 libpsl5 libpsl-dev python3-impacket apache2 apache2-dev
|
||||
|
||||
- name: Download lib
|
||||
uses: actions/download-artifact@v4
|
||||
|
||||
@@ -53,13 +53,16 @@ jobs:
|
||||
timeout-minutes: 4
|
||||
needs: build_wolfssl
|
||||
steps:
|
||||
- name: Checkout wolfSSL CI actions
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
sparse-checkout: .github/actions
|
||||
fetch-depth: 1
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
# Don't prompt for anything
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
sudo apt-get update
|
||||
sudo apt-get install krb5-kdc krb5-otp libkrb5-dev \
|
||||
libsocket-wrapper libnss-wrapper krb5-admin-server libdb5.3-dev
|
||||
uses: ./.github/actions/install-apt-deps
|
||||
with:
|
||||
packages: krb5-kdc krb5-otp libkrb5-dev libsocket-wrapper libnss-wrapper krb5-admin-server libdb5.3-dev
|
||||
|
||||
- name: Download lib
|
||||
uses: actions/download-artifact@v4
|
||||
|
||||
@@ -62,9 +62,16 @@ jobs:
|
||||
ip addr list lo | grep 'inet '
|
||||
ip addr list lo | grep 'inet6 '
|
||||
|
||||
- name: Checkout wolfSSL CI actions
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
sparse-checkout: .github/actions
|
||||
fetch-depth: 1
|
||||
|
||||
- name: Install prereqs
|
||||
run:
|
||||
sudo apt-get install build-essential autoconf libtool pkg-config cmake clang libc++-dev
|
||||
uses: ./.github/actions/install-apt-deps
|
||||
with:
|
||||
packages: build-essential autoconf libtool pkg-config cmake clang libc++-dev
|
||||
|
||||
- name: Download lib
|
||||
uses: actions/download-artifact@v4
|
||||
|
||||
@@ -49,10 +49,16 @@ jobs:
|
||||
matrix:
|
||||
haproxy_ref: [ 'v3.1.0', 'v3.2.0']
|
||||
steps:
|
||||
- name: Checkout wolfSSL CI actions
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
sparse-checkout: .github/actions
|
||||
fetch-depth: 1
|
||||
|
||||
- name: Install test dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install libpcre2-dev
|
||||
uses: ./.github/actions/install-apt-deps
|
||||
with:
|
||||
packages: libpcre2-dev
|
||||
|
||||
- name: Download lib
|
||||
uses: actions/download-artifact@v4
|
||||
|
||||
@@ -211,15 +211,12 @@ jobs:
|
||||
run: tar -xf build-dir.tgz
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
# Don't prompt for anything
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
sudo apt-get update
|
||||
# hostap dependencies
|
||||
sudo apt-get install -y libpcap0.8 libpcap-dev curl libcurl4-openssl-dev \
|
||||
libnl-3-dev binutils-dev libssl-dev libiberty-dev libnl-genl-3-dev \
|
||||
libnl-route-3-dev libdbus-1-dev bridge-utils tshark python3-pycryptodome
|
||||
sudo pip install pycryptodome
|
||||
uses: ./wolfssl/.github/actions/install-apt-deps
|
||||
with:
|
||||
packages: libpcap0.8 libpcap-dev curl libcurl4-openssl-dev libnl-3-dev binutils-dev libssl-dev libiberty-dev libnl-genl-3-dev libnl-route-3-dev libdbus-1-dev bridge-utils tshark python3-pycryptodome
|
||||
|
||||
- name: Install pip dependencies
|
||||
run: sudo pip install pycryptodome
|
||||
|
||||
- name: Checking if we have hostap in cache
|
||||
uses: actions/cache/restore@v4
|
||||
|
||||
@@ -51,8 +51,15 @@ jobs:
|
||||
runs-on: ubuntu-24.04
|
||||
needs: build_wolfssl
|
||||
steps:
|
||||
- name: Checkout wolfSSL CI actions
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
sparse-checkout: .github/actions
|
||||
fetch-depth: 1
|
||||
- name: Install dependencies
|
||||
run: export DEBIAN_FRONTEND=noninteractive && sudo apt-get update && sudo apt-get install -y libreadline-dev
|
||||
uses: ./.github/actions/install-apt-deps
|
||||
with:
|
||||
packages: libreadline-dev
|
||||
- name: Download lib
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
|
||||
@@ -54,12 +54,16 @@ jobs:
|
||||
runs-on: ${{ matrix.config.runner }}
|
||||
needs: build_wolfssl
|
||||
steps:
|
||||
- name: Checkout wolfSSL CI actions
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
sparse-checkout: .github/actions
|
||||
fetch-depth: 1
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
# Don't prompt for anything
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
sudo apt-get update
|
||||
sudo apt-get install libgtest-dev
|
||||
uses: ./.github/actions/install-apt-deps
|
||||
with:
|
||||
packages: libgtest-dev
|
||||
|
||||
- name: Download lib
|
||||
uses: actions/download-artifact@v4
|
||||
|
||||
@@ -31,8 +31,16 @@ jobs:
|
||||
- name: Prepare target kernel for module builds
|
||||
run: |
|
||||
echo "updating linux-headers"
|
||||
sudo apt-get update || $(exit 2)
|
||||
sudo apt-get install linux-headers-$(uname -r) -y || $(exit 3)
|
||||
apt_ok=false
|
||||
for i in 1 2 3; do
|
||||
if sudo apt-get update && sudo apt-get install -y linux-headers-$(uname -r); then
|
||||
apt_ok=true
|
||||
break
|
||||
fi
|
||||
echo "::warning::apt-get failed (attempt $i/3), retrying..."
|
||||
sleep $((5 * i))
|
||||
done
|
||||
if [ "$apt_ok" != true ]; then exit 2; fi
|
||||
echo "preparing target kernel $(uname -r)"
|
||||
pushd "/lib/modules/$(uname -r)/build" || $(exit 4)
|
||||
if [ -f /proc/config.gz ]; then gzip -dc /proc/config.gz > /tmp/.config && sudo mv /tmp/.config . || $(exit 5); elif [ -f "/boot/config-$(uname -r)" ]; then sudo cp -p "/boot/config-$(uname -r)" .config || $(exit 6); fi
|
||||
|
||||
@@ -51,6 +51,12 @@ jobs:
|
||||
runs-on: ubuntu-24.04
|
||||
needs: build_wolfssl
|
||||
steps:
|
||||
- name: Checkout wolfSSL CI actions
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
sparse-checkout: .github/actions
|
||||
fetch-depth: 1
|
||||
|
||||
- name: Download lib
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
@@ -66,10 +72,9 @@ jobs:
|
||||
path: osp
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y libevent-dev libevent-2.1-7 automake pkg-config make libio-socket-ssl-perl
|
||||
uses: ./.github/actions/install-apt-deps
|
||||
with:
|
||||
packages: libevent-dev libevent-2.1-7 automake pkg-config make libio-socket-ssl-perl
|
||||
|
||||
- name: Checkout memcached
|
||||
uses: actions/checkout@v4
|
||||
|
||||
@@ -20,6 +20,12 @@ jobs:
|
||||
timeout-minutes: 10
|
||||
steps:
|
||||
|
||||
- name: Checkout wolfSSL CI actions
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
sparse-checkout: .github/actions
|
||||
fetch-depth: 1
|
||||
|
||||
# Build wolfSSL using the user_settings.h from the C# wrapper directory
|
||||
- name: Build wolfSSL
|
||||
uses: wolfSSL/actions-build-autotools-project@v1
|
||||
@@ -30,9 +36,9 @@ jobs:
|
||||
check: false
|
||||
|
||||
- name: Install mono-complete
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y mono-complete
|
||||
uses: ./.github/actions/install-apt-deps
|
||||
with:
|
||||
packages: mono-complete
|
||||
|
||||
- name: Copy wolfSSL.dll to C# wrapper directory
|
||||
run: |
|
||||
|
||||
@@ -50,6 +50,12 @@ jobs:
|
||||
timeout-minutes: 4
|
||||
needs: build_wolfssl
|
||||
steps:
|
||||
- name: Checkout wolfSSL CI actions
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
sparse-checkout: .github/actions
|
||||
fetch-depth: 1
|
||||
|
||||
- name: Download lib
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
@@ -65,10 +71,9 @@ jobs:
|
||||
path: osp
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y build-essential libev-dev libssl-dev automake python3-docutils libcunit1 libcunit1-doc libcunit1-dev pkg-config make python3-psutil
|
||||
uses: ./.github/actions/install-apt-deps
|
||||
with:
|
||||
packages: build-essential libev-dev libssl-dev automake python3-docutils libcunit1 libcunit1-doc libcunit1-dev pkg-config make python3-psutil
|
||||
|
||||
- name: Checkout mosquitto
|
||||
uses: actions/checkout@v4
|
||||
|
||||
@@ -50,6 +50,12 @@ jobs:
|
||||
timeout-minutes: 10
|
||||
needs: build_wolfssl
|
||||
steps:
|
||||
- name: Checkout wolfSSL CI actions
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
sparse-checkout: .github/actions
|
||||
fetch-depth: 1
|
||||
|
||||
- name: Download lib
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
@@ -65,11 +71,9 @@ jobs:
|
||||
path: osp
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y \
|
||||
autoconf automake libtool pkg-config gettext \
|
||||
libidn2-dev libsecret-1-dev autopoint
|
||||
uses: ./.github/actions/install-apt-deps
|
||||
with:
|
||||
packages: autoconf automake libtool pkg-config gettext libidn2-dev libsecret-1-dev autopoint
|
||||
|
||||
- name: Checkout msmtp
|
||||
uses: actions/checkout@v4
|
||||
|
||||
@@ -42,9 +42,11 @@ jobs:
|
||||
# This should be a safe limit for the tests to run.
|
||||
timeout-minutes: 4
|
||||
steps:
|
||||
- name: Install dependencies
|
||||
run: export DEBIAN_FRONTEND=noninteractive && sudo apt-get update && sudo apt-get install -y ${{ matrix.CC }}
|
||||
- uses: actions/checkout@v4
|
||||
- name: Install dependencies
|
||||
uses: ./.github/actions/install-apt-deps
|
||||
with:
|
||||
packages: ${{ matrix.CC }}
|
||||
- name: Build
|
||||
env:
|
||||
CC: ${{ matrix.CC }}
|
||||
|
||||
@@ -25,6 +25,12 @@ jobs:
|
||||
# This should be a safe limit for the tests to run.
|
||||
timeout-minutes: 30
|
||||
steps:
|
||||
- name: Checkout wolfSSL CI actions
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
sparse-checkout: .github/actions
|
||||
fetch-depth: 1
|
||||
|
||||
- name: Checking if we have nss in cache
|
||||
uses: actions/cache@v4
|
||||
id: cache
|
||||
@@ -35,12 +41,9 @@ jobs:
|
||||
|
||||
- name: Install dependencies
|
||||
if: steps.cache.outputs.cache-hit != 'true'
|
||||
run: |
|
||||
# Don't prompt for anything
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
sudo apt-get update
|
||||
# hostap dependencies
|
||||
sudo apt-get install -y gyp ninja-build
|
||||
uses: ./.github/actions/install-apt-deps
|
||||
with:
|
||||
packages: gyp ninja-build
|
||||
|
||||
- name: Checkout nss
|
||||
if: steps.cache.outputs.cache-hit != 'true'
|
||||
|
||||
@@ -51,6 +51,12 @@ jobs:
|
||||
timeout-minutes: 10
|
||||
needs: build_wolfssl
|
||||
steps:
|
||||
- name: Checkout wolfSSL CI actions
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
sparse-checkout: .github/actions
|
||||
fetch-depth: 1
|
||||
|
||||
- name: Download lib
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
@@ -60,11 +66,9 @@ jobs:
|
||||
run: tar -xf build-dir.tgz
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install liblzo2-dev libpam0g-dev liblz4-dev libcap-ng-dev \
|
||||
linux-libc-dev man2html libcmocka-dev python3-docutils \
|
||||
libtool automake autoconf libnl-genl-3-dev libnl-genl-3-200
|
||||
uses: ./.github/actions/install-apt-deps
|
||||
with:
|
||||
packages: liblzo2-dev libpam0g-dev liblz4-dev libcap-ng-dev linux-libc-dev man2html libcmocka-dev python3-docutils libtool automake autoconf libnl-genl-3-dev libnl-genl-3-200
|
||||
|
||||
- name: workaround high-entropy ASLR
|
||||
# not needed after either an update to llvm or runner is done
|
||||
|
||||
@@ -51,12 +51,16 @@ jobs:
|
||||
runs-on: ubuntu-24.04
|
||||
needs: build_wolfssl
|
||||
steps:
|
||||
- name: Checkout wolfSSL CI actions
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
sparse-checkout: .github/actions
|
||||
fetch-depth: 1
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
# Don't prompt for anything
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
sudo apt-get update
|
||||
sudo apt-get install libpam-dev ninja-build meson
|
||||
uses: ./.github/actions/install-apt-deps
|
||||
with:
|
||||
packages: libpam-dev ninja-build meson
|
||||
|
||||
- name: Download lib
|
||||
uses: actions/download-artifact@v4
|
||||
|
||||
@@ -98,14 +98,16 @@ jobs:
|
||||
timeout-minutes: 60
|
||||
needs: build_wolfssl
|
||||
steps:
|
||||
- name: Checkout wolfSSL CI actions
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
sparse-checkout: .github/actions
|
||||
fetch-depth: 1
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y \
|
||||
build-essential autoconf automake autoconf-archive pkgconf \
|
||||
libffi-dev libbz2-dev libreadline-dev libsqlite3-dev \
|
||||
zlib1g-dev libncursesw5-dev libgdbm-dev libnss3-dev \
|
||||
liblzma-dev uuid-dev pkg-config
|
||||
uses: ./.github/actions/install-apt-deps
|
||||
with:
|
||||
packages: build-essential autoconf automake autoconf-archive pkgconf libffi-dev libbz2-dev libreadline-dev libsqlite3-dev zlib1g-dev libncursesw5-dev libgdbm-dev libnss3-dev liblzma-dev uuid-dev pkg-config
|
||||
|
||||
- name: Download wolfSSL
|
||||
uses: actions/download-artifact@v4
|
||||
|
||||
@@ -37,20 +37,10 @@ jobs:
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Set up build environment
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y --no-install-recommends \
|
||||
build-essential \
|
||||
ca-certificates \
|
||||
cmake \
|
||||
ninja-build \
|
||||
python3 \
|
||||
git \
|
||||
gcc-arm-none-eabi \
|
||||
libnewlib-arm-none-eabi \
|
||||
libstdc++-arm-none-eabi-newlib \
|
||||
wget \
|
||||
unzip
|
||||
uses: ./.github/actions/install-apt-deps
|
||||
with:
|
||||
packages: build-essential ca-certificates cmake ninja-build python3 git gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib wget unzip
|
||||
no-install-recommends: 'true'
|
||||
|
||||
- name: Cache CMSIS Device
|
||||
id: cache-cmsis-device
|
||||
@@ -89,13 +79,11 @@ jobs:
|
||||
renode-1.15.3-
|
||||
|
||||
- name: Install Renode dependencies
|
||||
run: |
|
||||
# Install Mono and other dependencies needed for Renode (always needed, even when cached)
|
||||
sudo apt-get install -y --no-install-recommends \
|
||||
mono-runtime \
|
||||
libmono-cil-dev \
|
||||
screen \
|
||||
policykit-1 || true
|
||||
uses: ./.github/actions/install-apt-deps
|
||||
with:
|
||||
packages: mono-runtime libmono-cil-dev screen policykit-1
|
||||
no-install-recommends: 'true'
|
||||
continue-on-error: true
|
||||
|
||||
- name: Install Renode (if not cached)
|
||||
if: steps.cache-renode.outputs.cache-hit != 'true'
|
||||
|
||||
@@ -52,12 +52,16 @@ jobs:
|
||||
timeout-minutes: 4
|
||||
needs: build_wolfssl
|
||||
steps:
|
||||
- name: Checkout wolfSSL CI actions
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
sparse-checkout: .github/actions
|
||||
fetch-depth: 1
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
# Don't prompt for anything
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y libcurl4-openssl-dev libjansson-dev libp11-dev librtlsdr-dev libcap-dev
|
||||
uses: ./.github/actions/install-apt-deps
|
||||
with:
|
||||
packages: libcurl4-openssl-dev libjansson-dev libp11-dev librtlsdr-dev libcap-dev
|
||||
|
||||
- name: Download lib
|
||||
uses: actions/download-artifact@v4
|
||||
|
||||
@@ -52,9 +52,16 @@ jobs:
|
||||
- socat_version: "1.8.0.3"
|
||||
expect_fail: "146,386,399,402,459,460,467,468,475,478,491,492,495,528"
|
||||
steps:
|
||||
- name: Checkout wolfSSL CI actions
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
sparse-checkout: .github/actions
|
||||
fetch-depth: 1
|
||||
|
||||
- name: Install prereqs
|
||||
run:
|
||||
sudo apt-get install build-essential autoconf libtool pkg-config clang libc++-dev
|
||||
uses: ./.github/actions/install-apt-deps
|
||||
with:
|
||||
packages: build-essential autoconf libtool pkg-config clang libc++-dev
|
||||
|
||||
- name: Download lib
|
||||
uses: actions/download-artifact@v4
|
||||
|
||||
@@ -52,12 +52,16 @@ jobs:
|
||||
timeout-minutes: 20
|
||||
needs: build_wolfssl
|
||||
steps:
|
||||
- name: Checkout wolfSSL CI actions
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
sparse-checkout: .github/actions
|
||||
fetch-depth: 1
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
# Don't prompt for anything
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y libcppunit-dev
|
||||
uses: ./.github/actions/install-apt-deps
|
||||
with:
|
||||
packages: libcppunit-dev
|
||||
|
||||
- name: Download lib
|
||||
uses: actions/download-artifact@v4
|
||||
|
||||
@@ -56,13 +56,17 @@ jobs:
|
||||
timeout-minutes: 20
|
||||
needs: build_wolfssl
|
||||
steps:
|
||||
- name: Checkout wolfSSL CI actions
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
sparse-checkout: .github/actions
|
||||
fetch-depth: 1
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
# Don't prompt for anything
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y build-essential autoconf libldb-dev \
|
||||
libldb2 python3-ldb bc libcap-dev
|
||||
uses: ./.github/actions/install-apt-deps
|
||||
with:
|
||||
packages: build-essential autoconf libldb-dev libldb2 python3-ldb bc libcap-dev
|
||||
cache: 'false'
|
||||
|
||||
- name: Setup env
|
||||
run: |
|
||||
|
||||
@@ -43,10 +43,9 @@ jobs:
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
sudo apt-get update -q
|
||||
sudo apt-get install -y build-essential autoconf automake libtool jq psmisc || \
|
||||
sudo apt-get install -y build-essential autoconf automake libtool jq
|
||||
uses: ./.github/actions/install-apt-deps
|
||||
with:
|
||||
packages: build-essential autoconf automake libtool jq psmisc
|
||||
|
||||
- name: Pull TLS-Anvil Docker image
|
||||
run: docker pull ghcr.io/tls-attacker/tlsanvil:latest
|
||||
|
||||
@@ -39,11 +39,10 @@ jobs:
|
||||
- uses: actions/checkout@v4
|
||||
name: Checkout wolfSSL
|
||||
|
||||
- name: install_multilib
|
||||
run: |
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y gcc-multilib
|
||||
- name: Install multilib
|
||||
uses: ./.github/actions/install-apt-deps
|
||||
with:
|
||||
packages: gcc-multilib
|
||||
|
||||
- name: Build wolfCrypt with extra type conversion warnings
|
||||
run: |
|
||||
|
||||
@@ -30,24 +30,16 @@ jobs:
|
||||
# This should be a safe limit for the tests to run.
|
||||
timeout-minutes: 45
|
||||
steps:
|
||||
- name: Checkout wolfSSL CI actions
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
sparse-checkout: .github/actions
|
||||
fetch-depth: 1
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
# Don't prompt for anything
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
sudo apt-get update
|
||||
# most of the ci-base zephyr docker image packages
|
||||
sudo apt-get install -y zip bridge-utils uml-utilities \
|
||||
git cmake ninja-build gperf ccache dfu-util device-tree-compiler wget \
|
||||
python3-dev python3-pip python3-setuptools python3-tk python3-wheel xz-utils file \
|
||||
make gcc gcc-multilib g++-multilib libsdl2-dev libmagic1 \
|
||||
autoconf automake bison build-essential ca-certificates cargo ccache chrpath cmake \
|
||||
cpio device-tree-compiler dfu-util diffstat dos2unix doxygen file flex g++ gawk gcc \
|
||||
gcovr git git-core gnupg gperf gtk-sharp3 help2man iproute2 lcov libcairo2-dev \
|
||||
libglib2.0-dev libgtk2.0-0 liblocale-gettext-perl libncurses5-dev libpcap-dev \
|
||||
libpopt0 libsdl1.2-dev libsdl2-dev libssl-dev libtool libtool-bin locales make \
|
||||
net-tools ninja-build openssh-client parallel pkg-config python3-dev python3-pip \
|
||||
python3-ply python3-setuptools python-is-python3 qemu-kvm rsync socat srecord sudo \
|
||||
texinfo unzip wget ovmf xz-utils
|
||||
uses: ./.github/actions/install-apt-deps
|
||||
with:
|
||||
packages: zip bridge-utils uml-utilities git cmake ninja-build gperf ccache dfu-util device-tree-compiler wget python3-dev python3-pip python3-setuptools python3-tk python3-wheel xz-utils file make gcc gcc-multilib g++-multilib libsdl2-dev libmagic1 autoconf automake bison build-essential ca-certificates cargo ccache chrpath cmake cpio device-tree-compiler dfu-util diffstat dos2unix doxygen file flex g++ gawk gcc gcovr git git-core gnupg gperf gtk-sharp3 help2man iproute2 lcov libcairo2-dev libglib2.0-dev libgtk2.0-0 liblocale-gettext-perl libncurses5-dev libpcap-dev libpopt0 libsdl1.2-dev libsdl2-dev libssl-dev libtool libtool-bin locales make net-tools ninja-build openssh-client parallel pkg-config python3-dev python3-pip python3-ply python3-setuptools python-is-python3 qemu-kvm rsync socat srecord sudo texinfo unzip wget ovmf xz-utils
|
||||
|
||||
- name: Setup cmake version
|
||||
uses: jwlawson/actions-setup-cmake@v2
|
||||
|
||||
Reference in New Issue
Block a user