]> begriffs open source - freertos/blob - .github/workflows/kernel-demos.yml
Paranthesize expression-like macro (#668)
[freertos] / .github / workflows / kernel-demos.yml
1 name: FreeRTOS-Kernel Demos
2 on: [push, pull_request]
3
4 jobs:
5   WIN32-MSVC:
6     name: WIN32 MSVC
7     runs-on: windows-latest
8     steps:
9       - name: Checkout the FreeRTOS/FreeRTOS Repository
10         uses: actions/checkout@v2
11         with:
12           ref: main
13           repository: FreeRTOS/FreeRTOS
14           submodules: 'recursive'
15           fetch-depth: 1
16
17       # Checkout user pull request changes
18       - name: Checkout Pull Request
19         uses: actions/checkout@v2
20         with:
21           path: ./FreeRTOS/Source
22
23       - name: Add msbuild to PATH
24         uses: microsoft/setup-msbuild@v1.1
25
26       - name: Build WIN32-MSVC Demo
27         working-directory: FreeRTOS/Demo/WIN32-MSVC
28         run: msbuild WIN32.sln -t:rebuild
29
30       - name: Build WIN32-MSVC-Static-Allocation-Only Demo
31         working-directory: FreeRTOS/Demo/WIN32-MSVC-Static-Allocation-Only
32         run: msbuild WIN32.sln -t:rebuild
33
34   WIN32-MingW:
35     name: WIN32 MingW
36     runs-on: windows-latest
37     steps:
38       - name: Checkout the FreeRTOS/FreeRTOS Repository
39         uses: actions/checkout@v2
40         with:
41           ref: main
42           repository: FreeRTOS/FreeRTOS
43           submodules: 'recursive'
44           fetch-depth: 1
45
46       # Checkout user pull request changes
47       - name: Checkout Pull Request
48         uses: actions/checkout@v2
49         with:
50           path: ./FreeRTOS/Source
51
52       - name: Build WIN32-MingW Demo
53         working-directory: FreeRTOS/Demo/WIN32-MingW
54         run: |
55           gcc --version
56           make --version
57           make
58
59   POSIX-GCC:
60     name: Native GCC
61     runs-on: ubuntu-latest
62     steps:
63       - name: Checkout the FreeRTOS/FreeRTOS Repository
64         uses: actions/checkout@v2
65         with:
66           ref: main
67           repository: FreeRTOS/FreeRTOS
68           submodules: 'recursive'
69           fetch-depth: 1
70
71       # Checkout user pull request changes
72       - name: Checkout Pull Request
73         uses: actions/checkout@v2
74         with:
75           path: ./FreeRTOS/Source
76
77       - name: Install GCC
78         shell: bash
79         run: |
80           sudo apt-get -y update
81           sudo apt-get -y install build-essential
82
83       - name: Build Posix_GCC Demo
84         shell: bash
85         working-directory: FreeRTOS/Demo/Posix_GCC
86         run: make -j
87
88   MSP430-GCC:
89     name: GNU MSP430 Toolchain
90     runs-on: ubuntu-latest
91     steps:
92       - name: Checkout the FreeRTOS/FreeRTOS Repository
93         uses: actions/checkout@v2
94         with:
95           ref: main
96           repository: FreeRTOS/FreeRTOS
97           submodules: 'recursive'
98           fetch-depth: 1
99
100       # Checkout user pull request changes
101       - name: Checkout Pull Request
102         uses: actions/checkout@v2
103         with:
104           path: ./FreeRTOS/Source
105
106       - name: Install MSP430 Toolchain
107         shell: bash
108         run: |
109           sudo apt-get -y update
110           sudo apt-get -y install gcc-msp430 build-essential
111
112       - name: Build msp430_GCC Demo
113         shell: bash
114         working-directory: FreeRTOS/Demo/msp430_GCC
115         run: make -j
116
117   ARM-GCC:
118     name: GNU ARM Toolchain
119     runs-on: ubuntu-latest
120     steps:
121       - name: Checkout the FreeRTOS/FreeRTOS Repository
122         uses: actions/checkout@v2
123         with:
124           ref: main
125           repository: FreeRTOS/FreeRTOS
126           submodules: 'recursive'
127           fetch-depth: 1
128
129       # Checkout user pull request changes
130       - name: Checkout Pull Request
131         uses: actions/checkout@v2
132         with:
133           path: ./FreeRTOS/Source
134
135       - name: Install GNU ARM Toolchain
136         shell: bash
137         run: |
138           sudo apt-get -y update
139           sudo apt-get -y install gcc-arm-none-eabi build-essential cmake git ninja-build python3-minimal
140
141       - name: Build CORTEX_MPU_M3_MPS2_QEMU_GCC Demo
142         shell: bash
143         working-directory: FreeRTOS/Demo/CORTEX_MPU_M3_MPS2_QEMU_GCC
144         run: make -j
145
146       - name: Build CORTEX_LM3S102_GCC Demo
147         shell: bash
148         working-directory: FreeRTOS/Demo/CORTEX_LM3S102_GCC
149         run: make -j
150
151       - name: Build CORTEX_M3_MPS2_QEMU_GCC Demo
152         shell: bash
153         working-directory: FreeRTOS/Demo/CORTEX_M3_MPS2_QEMU_GCC
154         run: |
155           make clean
156           make -j
157
158       - name: Build CORTEX_M3_MPS2_QEMU_GCC Demo
159         shell: bash
160         working-directory: FreeRTOS/Demo/CORTEX_M3_MPS2_QEMU_GCC
161         run: |
162           make clean
163           make FULL_DEMO=1 -j
164
165       - name: Build CORTEX_LM3S811_GCC Demo
166         shell: bash
167         working-directory: FreeRTOS/Demo/CORTEX_LM3S811_GCC
168         run: make -j
169
170       - name: Build CORTEX_M0+_RP2040 Demos
171         shell: bash
172         working-directory: FreeRTOS/Demo/ThirdParty/Community-Supported/CORTEX_M0+_RP2040
173         run: |
174           git clone https://github.com/raspberrypi/pico-sdk.git
175           cmake -B build -DPICO_SDK_PATH=pico-sdk -GNinja
176           ninja -C build --verbose
177
178       - name: Build CORTEX_MPS2_QEMU_IAR_GCC Demo
179         shell: bash
180         working-directory: FreeRTOS/Demo/CORTEX_MPS2_QEMU_IAR_GCC
181         run: make -C build/gcc -j