Skip to content

Commit 103cd13

Browse files
committed
Added GitHub action build tests for NXP parts (iMX RT, Kinetis and LPC).
1 parent 4720a36 commit 103cd13

21 files changed

+478
-224
lines changed
+65
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
name: Wolfboot Reusable Build Workflow for MCUXpresso SDK
2+
3+
on:
4+
5+
workflow_call:
6+
inputs:
7+
arch:
8+
required: true
9+
type: string
10+
config-file:
11+
required: true
12+
type: string
13+
make-args:
14+
required: false
15+
type: string
16+
17+
jobs:
18+
19+
build:
20+
runs-on: ubuntu-latest
21+
22+
steps:
23+
- uses: actions/checkout@main
24+
with:
25+
repository: nxp-mcuxpresso/mcux-sdk
26+
path: mcux-sdk
27+
28+
- uses: actions/checkout@main
29+
with:
30+
repository: nxp-mcuxpresso/CMSIS_5
31+
path: CMSIS_5
32+
33+
- uses: actions/checkout@v3
34+
with:
35+
submodules: true
36+
37+
- name: Workaround for sources.list
38+
run: sudo sed -i 's|http://azure.archive.ubuntu.com/ubuntu/|http://mirror.arizona.edu/ubuntu/|g' /etc/apt/sources.list
39+
40+
- name: Update repository
41+
run: sudo apt-get update
42+
43+
- name: Install cross compilers
44+
run: |
45+
sudo apt-get install -y gcc-arm-none-eabi
46+
47+
- name: make distclean
48+
run: |
49+
make distclean
50+
51+
- name: Select config
52+
run: |
53+
cp ${{inputs.config-file}} .config && make include/target.h
54+
55+
- name: Build tools
56+
run: |
57+
make -C tools/keytools && make -C tools/bin-assemble
58+
59+
- name: Build key tools
60+
run: |
61+
make -C tools/keytools
62+
63+
- name: Build wolfboot
64+
run: |
65+
make ${{inputs.make-args}}

.github/workflows/test-build-sim-tpm.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ jobs:
4848
4949
- name: Build tools
5050
run: |
51-
make keytools
51+
make -C tools/keytools && make -C tools/bin-assemble
5252
5353
- name: Build wolfboot
5454
run: |

.github/workflows/test-build.yml

+3-7
Original file line numberDiff line numberDiff line change
@@ -36,19 +36,15 @@ jobs:
3636
3737
- name: make clean
3838
run: |
39-
make keysclean && make -C tools/keytools clean && rm -f include/target.h
40-
41-
- name: Install wolfSSL
42-
run: |
43-
sudo apt-get install --no-install-recommends -y -q make libwolfssl-dev
39+
make distclean
4440
4541
- name: Select config
4642
run: |
4743
cp ${{inputs.config-file}} .config && make include/target.h
4844
49-
- name: Build key tools
45+
- name: Build tools
5046
run: |
51-
make -C tools/keytools
47+
make -C tools/keytools && make -C tools/bin-assemble
5248
5349
- name: Build wolfboot
5450
run: |

.github/workflows/test-configs.yml

+33-14
Original file line numberDiff line numberDiff line change
@@ -22,28 +22,47 @@ jobs:
2222
# arch: riscv
2323
# config-file: ./config/examples/hifive.config
2424

25-
# TODO: imx-rt1050.config
26-
# TODO: imx-rt1060.config
25+
imx_rt1050_test:
26+
uses: ./.github/workflows/test-build-mcux-sdk.yml
27+
with:
28+
arch: arm
29+
config-file: ./config/examples/imx-rt1050.config
2730

28-
# TODO: kinetis-k82f.config requires the KSDK
29-
# kinetis_k82f_test:
30-
# uses: ./.github/workflows/test-build.yml
31-
# with:
32-
# arch: arm
33-
# config-file: ./config/examples/kinetis-k82f.config
31+
imx_rt1060_test:
32+
uses: ./.github/workflows/test-build-mcux-sdk.yml
33+
with:
34+
arch: arm
35+
config-file: ./config/examples/imx-rt1060.config
36+
37+
imx_rt1064_test:
38+
uses: ./.github/workflows/test-build-mcux-sdk.yml
39+
with:
40+
arch: arm
41+
config-file: ./config/examples/imx-rt1064.config
42+
43+
kinetis_k64f_test:
44+
uses: ./.github/workflows/test-build-mcux-sdk.yml
45+
with:
46+
arch: arm
47+
config-file: ./config/examples/kinetis-k64f.config
48+
49+
kinetis_k82f_test:
50+
uses: ./.github/workflows/test-build-mcux-sdk.yml
51+
with:
52+
arch: arm
53+
config-file: ./config/examples/kinetis-k82f.config
3454

3555
library_test:
3656
uses: ./.github/workflows/test-build.yml
3757
with:
3858
arch: host
3959
config-file: ./config/examples/library.config
4060

41-
# TODO: lpc54606j512.config requires MCUXPRESSO files
42-
# lpc54606j512_test
43-
# uses: ./.github/workflows/test-build.yml
44-
# with:
45-
# arch: arm
46-
# config-file: ./config/examples/lpc54606j512.config
61+
lpc54606j512_test:
62+
uses: ./.github/workflows/test-build-mcux-sdk.yml
63+
with:
64+
arch: arm
65+
config-file: ./config/examples/lpc54606j512.config
4766

4867
nrf52840_test:
4968
uses: ./.github/workflows/test-build.yml

.github/workflows/test-keytools.yml

+11-19
Original file line numberDiff line numberDiff line change
@@ -16,28 +16,18 @@ jobs:
1616
with:
1717
submodules: true
1818

19-
- name: Workaround for sources.list
20-
run: sudo sed -i 's|http://azure.archive.ubuntu.com/ubuntu/|http://mirror.arizona.edu/ubuntu/|g' /etc/apt/sources.list
21-
22-
- name: Update repository
23-
run: sudo apt-get update
24-
25-
- name: Install wolfSSL
26-
run: |
27-
sudo apt-get install --no-install-recommends -y -q make libwolfssl-dev
28-
2919
# ECC
3020
- name: make clean
3121
run: |
32-
make distclean && make keysclean && make -C tools/keytools clean && rm -f include/target.h
22+
make distclean
3323
3424
- name: Select config
3525
run: |
3626
cp config/examples/sim-ecc.config .config && make include/target.h
3727
38-
- name: Build key tools
28+
- name: Build tools
3929
run: |
40-
make -C tools/keytools
30+
make -C tools/keytools && make -C tools/bin-assemble
4131
4232
- name: Build wolfboot
4333
run: |
@@ -67,18 +57,19 @@ jobs:
6757
run: |
6858
./tools/keytools/sign --ecc256 --sha256 --manual-sign test-app/image.elf public-key.der 1 test-app/image_v1.sig
6959
60+
7061
# ED25519
7162
- name: make clean
7263
run: |
73-
make distclean && make keysclean && make -C tools/keytools clean && rm -f include/target.h
64+
make distclean
7465
7566
- name: Select config
7667
run: |
7768
cp config/examples/sim.config .config && make include/target.h
7869
79-
- name: Build key tools
70+
- name: Build tools
8071
run: |
81-
make -C tools/keytools
72+
make -C tools/keytools && make -C tools/bin-assemble
8273
8374
- name: Build wolfboot
8475
run: |
@@ -108,18 +99,19 @@ jobs:
10899
run: |
109100
./tools/keytools/sign --ed25519 --sha256 --manual-sign test-app/image.elf public-key.der 1 test-app/image_v1.sig
110101
102+
111103
# RSA
112104
- name: make clean
113105
run: |
114-
make distclean && make keysclean && make -C tools/keytools clean && rm -f include/target.h
106+
make distclean
115107
116108
- name: Select config
117109
run: |
118110
cp config/examples/sim-rsa.config .config && make include/target.h
119111
120-
- name: Build key tools
112+
- name: Build tools
121113
run: |
122-
make -C tools/keytools
114+
make -C tools/keytools && make -C tools/bin-assemble
123115
124116
- name: Build wolfboot
125117
run: |

0 commit comments

Comments
 (0)