Skip to content

Commit

Permalink
Added GitHub action build tests for NXP parts (iMX RT, Kinetis and LPC).
Browse files Browse the repository at this point in the history
  • Loading branch information
dgarske authored and danielinux committed Aug 21, 2023
1 parent 802ebdc commit 6ea1a1e
Show file tree
Hide file tree
Showing 21 changed files with 426 additions and 212 deletions.
61 changes: 61 additions & 0 deletions .github/workflows/test-build-mcux-sdk.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
name: Wolfboot Reusable Build Workflow for MCUXpresso SDK

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

steps:
- uses: actions/checkout@v3
with:
submodules: true

- uses: actions/checkout@main
with:
repository: nxp-mcuxpresso/mcux-sdk
path: mcux-sdk

- uses: actions/checkout@main
with:
repository: nxp-mcuxpresso/CMSIS_5
path: CMSIS_5

- name: Workaround for sources.list
run: sudo sed -i 's|http://azure.archive.ubuntu.com/ubuntu/|http://mirror.arizona.edu/ubuntu/|g' /etc/apt/sources.list

- name: Update repository
run: sudo apt-get update

- name: Install cross compilers
run: |
sudo apt-get install -y gcc-arm-none-eabi
- name: make distclean
run: |
make distclean
- name: Select config
run: |
cp ${{inputs.config-file}} .config && make include/target.h
- name: Build tools
run: |
make -C tools/keytools && make -C tools/bin-assemble
- name: Build wolfboot
run: |
make MCUXSDK=1 MCUXPRESSO="$GITHUB_WORKSPACE/mcux-sdk" MCUXPRESSO_CMSIS="$GITHUB_WORKSPACE/CMSIS_5/CMSIS" ${{inputs.make-args}} V=1
2 changes: 1 addition & 1 deletion .github/workflows/test-build-sim-tpm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ jobs:
- name: Build tools
run: |
make keytools
make -C tools/keytools && make -C tools/bin-assemble
- name: Build wolfboot
run: |
Expand Down
10 changes: 3 additions & 7 deletions .github/workflows/test-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,19 +36,15 @@ jobs:
- name: make clean
run: |
make keysclean && make -C tools/keytools clean && rm -f include/target.h
- name: Install wolfSSL
run: |
sudo apt-get install --no-install-recommends -y -q make libwolfssl-dev
make distclean
- name: Select config
run: |
cp ${{inputs.config-file}} .config && make include/target.h
- name: Build key tools
- name: Build tools
run: |
make -C tools/keytools
make -C tools/keytools && make -C tools/bin-assemble
- name: Build wolfboot
run: |
Expand Down
47 changes: 33 additions & 14 deletions .github/workflows/test-configs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,28 +22,47 @@ jobs:
# arch: riscv
# config-file: ./config/examples/hifive.config

# TODO: imx-rt1050.config
# TODO: imx-rt1060.config
imx_rt1050_test:
uses: ./.github/workflows/test-build-mcux-sdk.yml
with:
arch: arm
config-file: ./config/examples/imx-rt1050.config

# TODO: kinetis-k82f.config requires the KSDK
# kinetis_k82f_test:
# uses: ./.github/workflows/test-build.yml
# with:
# arch: arm
# config-file: ./config/examples/kinetis-k82f.config
imx_rt1060_test:
uses: ./.github/workflows/test-build-mcux-sdk.yml
with:
arch: arm
config-file: ./config/examples/imx-rt1060.config

imx_rt1064_test:
uses: ./.github/workflows/test-build-mcux-sdk.yml
with:
arch: arm
config-file: ./config/examples/imx-rt1064.config

kinetis_k64f_test:
uses: ./.github/workflows/test-build-mcux-sdk.yml
with:
arch: arm
config-file: ./config/examples/kinetis-k64f.config

kinetis_k82f_test:
uses: ./.github/workflows/test-build-mcux-sdk.yml
with:
arch: arm
config-file: ./config/examples/kinetis-k82f.config

library_test:
uses: ./.github/workflows/test-build.yml
with:
arch: host
config-file: ./config/examples/library.config

# TODO: lpc54606j512.config requires MCUXPRESSO files
# lpc54606j512_test
# uses: ./.github/workflows/test-build.yml
# with:
# arch: arm
# config-file: ./config/examples/lpc54606j512.config
lpc54606j512_test:
uses: ./.github/workflows/test-build-mcux-sdk.yml
with:
arch: arm
config-file: ./config/examples/lpc54606j512.config

nrf52840_test:
uses: ./.github/workflows/test-build.yml
Expand Down
30 changes: 11 additions & 19 deletions .github/workflows/test-keytools.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,28 +16,18 @@ jobs:
with:
submodules: true

- name: Workaround for sources.list
run: sudo sed -i 's|http://azure.archive.ubuntu.com/ubuntu/|http://mirror.arizona.edu/ubuntu/|g' /etc/apt/sources.list

- name: Update repository
run: sudo apt-get update

- name: Install wolfSSL
run: |
sudo apt-get install --no-install-recommends -y -q make libwolfssl-dev
# ECC
- name: make clean
run: |
make distclean && make keysclean && make -C tools/keytools clean && rm -f include/target.h
make distclean
- name: Select config
run: |
cp config/examples/sim-ecc.config .config && make include/target.h
- name: Build key tools
- name: Build tools
run: |
make -C tools/keytools
make -C tools/keytools && make -C tools/bin-assemble
- name: Build wolfboot
run: |
Expand Down Expand Up @@ -67,18 +57,19 @@ jobs:
run: |
./tools/keytools/sign --ecc256 --sha256 --manual-sign test-app/image.elf public-key.der 1 test-app/image_v1.sig
# ED25519
- name: make clean
run: |
make distclean && make keysclean && make -C tools/keytools clean && rm -f include/target.h
make distclean
- name: Select config
run: |
cp config/examples/sim.config .config && make include/target.h
- name: Build key tools
- name: Build tools
run: |
make -C tools/keytools
make -C tools/keytools && make -C tools/bin-assemble
- name: Build wolfboot
run: |
Expand Down Expand Up @@ -108,18 +99,19 @@ jobs:
run: |
./tools/keytools/sign --ed25519 --sha256 --manual-sign test-app/image.elf public-key.der 1 test-app/image_v1.sig
# RSA
- name: make clean
run: |
make distclean && make keysclean && make -C tools/keytools clean && rm -f include/target.h
make distclean
- name: Select config
run: |
cp config/examples/sim-rsa.config .config && make include/target.h
- name: Build key tools
- name: Build tools
run: |
make -C tools/keytools
make -C tools/keytools && make -C tools/bin-assemble
- name: Build wolfboot
run: |
Expand Down
Loading

0 comments on commit 6ea1a1e

Please sign in to comment.