1name: FreeRTOS-Kernel Demos 2on: [push, pull_request] 3 4jobs: 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 fetch-depth: 1 127 128 - name: Fetch Community-Supported-Demos Submodule 129 shell: bash 130 run: | 131 # Fetch Community-Supported-Demos Submodule 132 echo "::group::Fetch Community-Supported-Demos Submodule" 133 git submodule update --checkout --init --depth 1 FreeRTOS/Demo/ThirdParty/Community-Supported-Demos 134 echo "::engdroup::" 135 if [ "$?" = "0" ]; then 136 echo -e "\033[32;3mCloned the Community-Supported-Demos\033[0m" 137 else 138 echo -e "\033[32;31mCommunity-Supported-Demos Clone Failed...\033[0m" 139 exit 1 140 fi 141 142 # Checkout user pull request changes 143 - name: Checkout Pull Request 144 uses: actions/checkout@v2 145 with: 146 path: ./FreeRTOS/Source 147 148 - name: Install GNU ARM Toolchain 149 shell: bash 150 run: | 151 sudo apt-get -y update 152 sudo apt-get -y install gcc-arm-none-eabi build-essential cmake git ninja-build python3-minimal 153 154 - name: Build CORTEX_MPU_M3_MPS2_QEMU_GCC Demo 155 shell: bash 156 working-directory: FreeRTOS/Demo/CORTEX_MPU_M3_MPS2_QEMU_GCC 157 run: make -j 158 159 - name: Build CORTEX_LM3S102_GCC Demo 160 shell: bash 161 working-directory: FreeRTOS/Demo/CORTEX_LM3S102_GCC 162 run: make -j 163 164 - name: Build CORTEX_LM3S811_GCC Demo 165 shell: bash 166 working-directory: FreeRTOS/Demo/CORTEX_LM3S811_GCC 167 run: make -j 168 169 - name: Build CORTEX_M0+_RP2040 Demos 170 shell: bash 171 working-directory: FreeRTOS/Demo/ThirdParty/Community-Supported-Demos/CORTEX_M0+_RP2040 172 run: | 173 git clone https://github.com/raspberrypi/pico-sdk.git 174 cmake -B build -DPICO_SDK_PATH=pico-sdk -GNinja 175 ninja -C build --verbose 176 177 - name: Build CORTEX_MPS2_QEMU_IAR_GCC Demo 178 shell: bash 179 working-directory: FreeRTOS/Demo/CORTEX_MPS2_QEMU_IAR_GCC 180 run: make -C build/gcc -j 181