mirror of https://github.com/wolfSSL/wolfBoot.git
64 lines
1.7 KiB
YAML
64 lines
1.7 KiB
YAML
name: Wolfboot Reusable Build Workflow
|
|
|
|
on:
|
|
|
|
workflow_call:
|
|
inputs:
|
|
arch:
|
|
required: true
|
|
type: string
|
|
config-file:
|
|
required: true
|
|
type: string
|
|
make-args:
|
|
required: false
|
|
type: string
|
|
|
|
jobs:
|
|
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
image: ghcr.io/wolfssl/wolfboot-ci-arm:v1.3
|
|
timeout-minutes: 30
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
submodules: true
|
|
|
|
- name: Trust workspace
|
|
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
|
|
|
|
- name: make clean
|
|
run: |
|
|
make distclean
|
|
|
|
- name: Select config
|
|
run: |
|
|
cp ${{inputs.config-file}} .config
|
|
|
|
- name: Build tools
|
|
run: |
|
|
make -C tools/keytools && make -C tools/bin-assemble
|
|
|
|
- name: Build wolfboot
|
|
run: |
|
|
make ${{inputs.make-args}}
|
|
|
|
- name: Rebuild wolfboot with Clang
|
|
if: |
|
|
inputs.config-file == './config/examples/stm32h7.config' ||
|
|
inputs.config-file == './config/examples/stm32h7-octospi.config' ||
|
|
inputs.config-file == './config/examples/stm32u3.config' ||
|
|
inputs.config-file == './config/examples/stm32u5.config' ||
|
|
inputs.config-file == './config/examples/stm32u5-wolfcrypt-tz.config' ||
|
|
inputs.config-file == './config/examples/stm32u5-nonsecure-dualbank.config' ||
|
|
inputs.config-file == './config/examples/stm32n6.config' ||
|
|
inputs.config-file == './config/examples/stm32n6-tz.config'
|
|
run: |
|
|
make distclean
|
|
cp ${{inputs.config-file}} .config
|
|
make -C tools/keytools && make -C tools/bin-assemble
|
|
make USE_CLANG=1 USE_GCC=0 ${{inputs.make-args}}
|