# # ci-build-tests.yml # Do test builds to catch compile errors # name: CI - Build Tests on: pull_request: branches: - bugfix-2.1.x - 2.1.x paths-ignore: - config/** - data/** - docs/** - test/** - Marlin/tests/** - '**/*.md' push: branches: - bugfix-2.1.x - 2.1.x paths-ignore: - config/** - data/** - docs/** - test/** - Marlin/tests/** - '**/*.md' jobs: test_builds: name: Build Test if: github.repository == 'MarlinFirmware/Marlin' runs-on: ubuntu-22.04 env: CONFIG_BRANCH: ${{ github.base_ref || github.ref_name }} strategy: fail-fast: true matrix: test-platform: # RP2040 - SKR_Pico # Native - linux_native - simulator_linux_release # AVR - mega2560 - mega1280 - at90usb1286_dfu # AVR Extended - FYSETC_F6 - melzi_optiboot - rambo - sanguino1284p - sanguino644p # SAM3X8E - DUE - DUE_archim # SAMD21 - SAMD51_grandcentral_m4 - SAMD21_minitronics20 # ESP32 - esp32 - mks_tinybee # Teensy 2 #- at90usb1286_cdc # Teensy MK20DX256 - teensy31 # Teensy MK64FX512, MK66FX1M0 - teensy35 # Teensy IMXRT1062DVx6A - teensy41 # STM32F0 - malyan_M300 - STM32F070CB_malyan - STM32F070RB_malyan # STM32F1 - chitu_f103 - mks_robin - mks_robin_nano_v1v2 - PANDA_PI_V29 - STM32F103RC_btt - STM32F103RC_fysetc - STM32F103RE_btt - STM32F103RE_btt_USB - STM32F103RE_creality - STM32F103VE_longer #- mks_robin_mini #- mks_robin_nano_v1_3_f4_usbmod #- mks_robin_nano_v1v2_usbmod #- STM32F103CB_malyan #- STM32F103RC_btt_USB #- STM32F103RE # STM32F4 - ARMED - BTT_BTT002 - BTT_GTR_V1_0 - BTT_SKR_PRO - FLYF407ZG - STM32F446VE_fysetc - LERDGEK - LERDGEX - mks_robin_pro2 - Opulo_Lumen_REV3 - rumba32 - STM32F401RC_creality - STM32F407VE_black - I3DBEEZ9_V1 # STM32F7 - NUCLEO_F767ZI - REMRAM_V1 # STM32H7 - BTT_SKR_SE_BX - STM32H743VI_btt # STM32F1 (Maple) - jgaurora_a5s_a1_maple - mks_robin_lite_maple - mks_robin_pro_maple - STM32F103RC_btt_USB_maple - STM32F103RC_fysetc_maple - STM32F103RC_meeb_maple - STM32F103VE_longer_maple - STM32F103VE_ZM3E4V2_USB_maple #- mks_robin_maple #- mks_robin_nano_v1v2_maple #- STM32F103RC_btt_maple #- STM32F103RE_creality_maple # STM32G0 - STM32G0B1RE_btt # HC32 - HC32F460C_aquila_101 # GD32F3 - GD32F303RE_creality_mfl # GD32F1 - GD32F103RC_aquila_mfl # LPC176x - Lengthy tests - LPC1768 - LPC1769 steps: - name: Check out the PR uses: actions/checkout@v4 - name: Cache pip uses: actions/cache@v4 with: path: ~/.cache/pip key: ${{ runner.os }}-pip-build-v1 restore-keys: | ${{ runner.os }}-pip-build- - name: Cache PlatformIO uses: actions/cache@v4 with: path: | ~/.platformio .pio/build .pio/libdeps key: ${{ runner.os }}-pio-build-v1 restore-keys: | ${{ runner.os }}-pio-build- - name: Select Python 3.9 uses: actions/setup-python@v5 with: python-version: '3.9' architecture: 'x64' - name: Install PlatformIO run: | pip install -U platformio pio upgrade --dev pio pkg update --global - name: Install Simulator dependencies run: | sudo apt-get update sudo apt-get install build-essential sudo apt-get install libsdl2-dev sudo apt-get install libsdl2-net-dev sudo apt-get install libglm-dev - name: Checkout Configurations uses: actions/checkout@v4 with: repository: MarlinFirmware/Configurations ref: ${{ env.CONFIG_BRANCH }} path: ConfigurationsRepo - name: Run ${{ matrix.test-platform }} Tests run: | make tests-single-ci TEST_TARGET=${{ matrix.test-platform }}