Support for building without wolfssl/openssl header files #2673
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This workflow tests out new libraries with existing OpenWrt builds to check | |
# there aren't any compatibility issues. Take a look at Docker/OpenWrt/README.md | |
name: OpenWrt test | |
# START OF COMMON SECTION | |
on: | |
push: | |
branches: [ 'master', 'main', 'release/**' ] | |
pull_request: | |
branches: [ '*' ] | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
# END OF COMMON SECTION | |
jobs: | |
build_library: | |
name: Compile libwolfssl.so | |
if: github.repository_owner == 'wolfssl' | |
runs-on: ubuntu-latest | |
# This should be a safe limit for the tests to run. | |
timeout-minutes: 4 | |
container: | |
image: alpine:latest | |
steps: | |
- name: Install required tools | |
run: apk add argp-standalone asciidoc bash bc binutils bzip2 cdrkit coreutils diffutils elfutils-dev findutils flex musl-fts-dev g++ gawk gcc gettext git grep intltool libxslt linux-headers make musl-libintl musl-obstack-dev ncurses-dev openssl-dev patch perl python3-dev rsync tar unzip util-linux wget zlib-dev autoconf automake libtool | |
- uses: actions/checkout@v4 | |
- name: Compile libwolfssl.so | |
run: ./autogen.sh && ./configure --enable-all && make | |
# 2024-08-05 - Something broke in the actions. They are no longer following links. | |
- name: tar libwolfssl.so | |
working-directory: src/.libs | |
run: tar -zcf libwolfssl.tgz libwolfssl.so* | |
- name: Upload libwolfssl.so | |
uses: actions/upload-artifact@v4 | |
with: | |
name: openwrt-libwolfssl.so | |
path: src/.libs/libwolfssl.tgz | |
retention-days: 5 | |
compile_container: | |
name: Compile container | |
if: github.repository_owner == 'wolfssl' | |
runs-on: ubuntu-latest | |
# This should be a safe limit for the tests to run. | |
timeout-minutes: 2 | |
needs: build_library | |
strategy: | |
fail-fast: false | |
matrix: | |
release: [ "22.03.6", "21.02.7" ] # some other versions: 21.02.0 21.02.5 22.03.0 22.03.3 snapshot | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: docker/setup-buildx-action@v3 | |
- uses: actions/download-artifact@v4 | |
with: | |
name: openwrt-libwolfssl.so | |
path: . | |
- name: untar libwolfssl.so | |
run: tar -xf libwolfssl.tgz -C Docker/OpenWrt | |
- name: Build but dont push | |
uses: docker/build-push-action@v5 | |
with: | |
context: Docker/OpenWrt | |
platforms: linux/amd64 | |
push: false | |
tags: openwrt-test:latest | |
build-args: DOCKER_BASE_CONTAINER=openwrt/rootfs:x86-64-${{ matrix.release }} | |
cache-from: type=gha | |
cache-to: type=gha,mode=max |