Skip to content

Add support for multiple configuration to deduplicate examples #2890

Add support for multiple configuration to deduplicate examples

Add support for multiple configuration to deduplicate examples #2890

name: Run ARM Cortex-M tests on Windows
on: [pull_request]
jobs:
windows_armcortexm:
runs-on: windows-2022
env:
PYTHONIOENCODING: "utf-8"
steps:
# Disabling snake-oil for performance reasons
- name: Disable Windows Defender
run: Set-MpPreference -DisableRealtimeMonitoring $true
- name: Install Python
uses: actions/setup-python@v4
with:
python-version: "3.11"
- name: Install Python packages
run: |
pip install --user modm scons future
- name: Download ARM Toolchain
shell: powershell
run: |
$ProgressPreference = 'SilentlyContinue'
Invoke-WebRequest -OutFile gcc-arm-none-eabi-win64.zip https://developer.arm.com/-/media/Files/downloads/gnu/12.2.rel1/binrel/arm-gnu-toolchain-12.2.rel1-mingw-w64-i686-arm-none-eabi.zip
- name: Install ARM Toolchain
shell: powershell
run: |
Expand-Archive -Path gcc-arm-none-eabi-win64.zip -DestinationPath C:\ -Force
dir C:\arm-gnu-toolchain-12.2.rel1-mingw-w64-i686-arm-none-eabi
echo "C:\arm-gnu-toolchain-12.2.rel1-mingw-w64-i686-arm-none-eabi\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
rm gcc-arm-none-eabi-win64.zip
- name: Show lbuild and arm-none-eabi-gcc Version Information
run: |
lbuild --version
arm-none-eabi-g++ --version
python -c "import os; print(os.cpu_count())"
- name: Check out repository
uses: actions/checkout@v3
with:
submodules: 'recursive'
- name: Update lbuild
run: |
pip3 install --upgrade --upgrade-strategy=eager modm
- name: Compile STM32 Examples
shell: bash
run: |
(cd examples && python ../tools/scripts/examples_compile.py nucleo_f031k6 nucleo_f103rb nucleo_f303re nucleo_f411re nucleo_f746zg)
(cd examples && python ../tools/scripts/examples_compile.py nucleo_g071rb nucleo_l031k6 nucleo_l152re nucleo_l476rg nucleo_g474re)
# - name: Compile AVR Examples
# shell: bash
# run: |
# (cd examples && python ../tools/scripts/examples_compile.py avr)