]> begriffs open source - freertos/blob - .github/workflows/kernel-demos.yml
Update version number in manifest.yml (#755)
[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       - name: Build Posix_GCC Demo for Coverage Test
89         shell: bash
90         working-directory: FreeRTOS/Demo/Posix_GCC
91         run: make -j COVERAGE_TEST=1
92
93   MSP430-GCC:
94     name: GNU MSP430 Toolchain
95     runs-on: ubuntu-latest
96     steps:
97       - name: Checkout the FreeRTOS/FreeRTOS Repository
98         uses: actions/checkout@v2
99         with:
100           ref: main
101           repository: FreeRTOS/FreeRTOS
102           submodules: 'recursive'
103           fetch-depth: 1
104
105       # Checkout user pull request changes
106       - name: Checkout Pull Request
107         uses: actions/checkout@v2
108         with:
109           path: ./FreeRTOS/Source
110
111       - name: Install MSP430 Toolchain
112         shell: bash
113         run: |
114           sudo apt-get -y update
115           sudo apt-get -y install gcc-msp430 build-essential
116
117       - name: Build msp430_GCC Demo
118         shell: bash
119         working-directory: FreeRTOS/Demo/msp430_GCC
120         run: make -j
121
122   ARM-GCC:
123     name: GNU ARM Toolchain
124     runs-on: ubuntu-latest
125     steps:
126       - name: Checkout the FreeRTOS/FreeRTOS Repository
127         uses: actions/checkout@v2
128         with:
129           ref: main
130           repository: FreeRTOS/FreeRTOS
131           fetch-depth: 1
132
133       - name: Fetch Community-Supported-Demos Submodule
134         shell: bash
135         run: |
136           # Fetch Community-Supported-Demos Submodule
137           echo "::group::Fetch Community-Supported-Demos Submodule"
138           git submodule update --checkout --init --depth 1 FreeRTOS/Demo/ThirdParty/Community-Supported-Demos
139           echo "::engdroup::"
140           if [ "$?" = "0" ]; then
141             echo -e "\033[32;3mCloned the Community-Supported-Demos\033[0m"
142           else
143             echo -e "\033[32;31mCommunity-Supported-Demos Clone Failed...\033[0m"
144             exit 1
145           fi
146
147       # Checkout user pull request changes
148       - name: Checkout Pull Request
149         uses: actions/checkout@v2
150         with:
151           path: ./FreeRTOS/Source
152
153       - name: Install GNU ARM Toolchain
154         shell: bash
155         run: |
156           sudo apt-get -y update
157           sudo apt-get -y install gcc-arm-none-eabi build-essential cmake git ninja-build python3-minimal
158
159       - name: Build CORTEX_MPU_M3_MPS2_QEMU_GCC Demo
160         shell: bash
161         working-directory: FreeRTOS/Demo/CORTEX_MPU_M3_MPS2_QEMU_GCC
162         run: make -j
163
164       - name: Build CORTEX_LM3S102_GCC Demo
165         shell: bash
166         working-directory: FreeRTOS/Demo/CORTEX_LM3S102_GCC
167         run: make -j
168
169       - name: Build CORTEX_M3_MPS2_QEMU_GCC Demo
170         shell: bash
171         working-directory: FreeRTOS/Demo/CORTEX_M3_MPS2_QEMU_GCC
172         run: |
173           make clean
174           make -j
175
176       - name: Build CORTEX_M3_MPS2_QEMU_GCC Demo
177         shell: bash
178         working-directory: FreeRTOS/Demo/CORTEX_M3_MPS2_QEMU_GCC
179         run: |
180           make clean
181           make FULL_DEMO=1 -j
182
183       - name: Build CORTEX_LM3S811_GCC Demo
184         shell: bash
185         working-directory: FreeRTOS/Demo/CORTEX_LM3S811_GCC
186         run: make -j
187
188       - name: Build CORTEX_M0+_RP2040 Demos
189         shell: bash
190         working-directory: FreeRTOS/Demo/ThirdParty/Community-Supported-Demos/CORTEX_M0+_RP2040
191         run: |
192           git clone https://github.com/raspberrypi/pico-sdk.git
193           cmake -B build -DPICO_SDK_PATH=pico-sdk -GNinja
194           ninja -C build --verbose
195
196       - name: Build CORTEX_MPS2_QEMU_IAR_GCC Demo
197         shell: bash
198         working-directory: FreeRTOS/Demo/CORTEX_MPS2_QEMU_IAR_GCC
199         run: make -C build/gcc -j