-
-
Notifications
You must be signed in to change notification settings - Fork 176
88 lines (72 loc) · 3.34 KB
/
devcontainer-smoketest.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
name: Smoketest Dockerfile builds for selected targets
on:
pull_request:
paths:
- '.devcontainer/**/*'
- '.github/workflows/*'
# push:
# paths:
# - '.devcontainer/**/*'
# - '.github/workflows/*'
jobs:
build-target:
strategy:
fail-fast: false # Continues to build other targets in the matrix, even if one fails.
matrix: # Add the target and build type you wish to generate firmware for:
include: [
{ target: SL_STK3701A, build-type: Debug, container: AzureRTOS},
{ target: SL_STK3701A, build-type: Debug, container: All},
{ target: ST_STM32F769I_DISCOVERY, build-type: Debug, container: ChibiOS },
{ target: ST_STM32F769I_DISCOVERY, build-type: Debug, container: All },
{ target: M5Core2, build-type: Debug, container: ESP32 },
{ target: M5Core2, build-type: Debug, container: All },
{ target: NXP_MIMXRT1060_EVK, build-type: Debug, container: FreeRTOS-NXP },
{ target: NXP_MIMXRT1060_EVK, build-type: Debug, container: All },
{ target: TI_CC1352R1_LAUNCHXL, build-type: Debug, container: TI, radio-freq: 915 },
{ target: TI_CC1352R1_LAUNCHXL, build-type: Debug, container: All, radio-freq: 915 },
]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Free Disk Space (Ubuntu)
uses: jlumbroso/free-disk-space@main
with:
# this might remove tools that are actually needed,
# when set to "true" but frees about 6 GB
tool-cache: true
large-packages: false
- name: Update repo submodules
run: |
git submodule update --init
- name: Adjust config templates for a devcontainer
run: |
# Move into the config directory
pushd config
# Rename the templates
mv user-prefs.TEMPLATE.json user-prefs.json
mv user-tools-repos.TEMPLATE.json user-tools-repos.json
# Adjust the file content for a valid radio frequency (TI targets)
sed -i -- 's|"RADIO_FREQUENCY": "CHANGE_ME_TO_A_VALID_VALUE_868_OR_915"|"RADIO_FREQUENCY": "${{ matrix.radio-freq }}"|g' user-prefs.json
# Adjust the file content for a devcontainer
sed -i -- 's|"name": "user-tools-repos-container"|"name": "user-tools-repos"|g' user-tools-repos.json
# Move out of the config directory
popd
- name: Adjust devcontainer.json for ${{ matrix.container }} source
run: |
# Move into the .devcontainer directory
pushd .devcontainer/${{ matrix.container }}
# Target the dockerfile source.
sed -i -- 's|"dockerFile": "Dockerfile.${{ matrix.container }}"|"dockerFile": "Dockerfile.${{ matrix.container }}.SRC"|g' devcontainer.json
# Move out of the .devcontainer directory
popd
- name: Build ${{ matrix.target }} ${{ matrix.build-type }} Firmware
uses: devcontainers/ci@v0.3
with:
configFile: ./.devcontainer/${{ matrix.container }}/devcontainer.json
push: never
runCmd: |
# Build target:
cmake --preset=${{ matrix.target }} -DCMAKE_BUILD_TYPE=${{ matrix.build-type }}
cmake --build build