ci-build-tests.yml 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. #
  2. # ci-build-tests.yml
  3. # Do test builds to catch compile errors
  4. #
  5. name: CI - Build Tests
  6. on:
  7. pull_request:
  8. branches:
  9. - bugfix-2.1.x
  10. - 2.1.x
  11. paths-ignore:
  12. - config/**
  13. - data/**
  14. - docs/**
  15. - test/**
  16. - Marlin/tests/**
  17. - '**/*.md'
  18. push:
  19. branches:
  20. - bugfix-2.1.x
  21. - 2.1.x
  22. paths-ignore:
  23. - config/**
  24. - data/**
  25. - docs/**
  26. - test/**
  27. - Marlin/tests/**
  28. - '**/*.md'
  29. jobs:
  30. test_builds:
  31. name: Build Test
  32. if: github.repository == 'MarlinFirmware/Marlin'
  33. runs-on: ubuntu-22.04
  34. strategy:
  35. fail-fast: true
  36. matrix:
  37. test-platform:
  38. # RP2040
  39. - SKR_Pico
  40. # Native
  41. - linux_native
  42. - simulator_linux_release
  43. # AVR
  44. - mega2560
  45. - mega1280
  46. - at90usb1286_dfu
  47. # AVR Extended
  48. - FYSETC_F6
  49. - melzi_optiboot
  50. - rambo
  51. - sanguino1284p
  52. - sanguino644p
  53. # SAM3X8E
  54. - DUE
  55. - DUE_archim
  56. # SAMD21
  57. - SAMD51_grandcentral_m4
  58. - SAMD21_minitronics20
  59. # ESP32
  60. - esp32
  61. - mks_tinybee
  62. # Teensy 2
  63. #- at90usb1286_cdc
  64. # Teensy MK20DX256
  65. - teensy31
  66. # Teensy MK64FX512, MK66FX1M0
  67. - teensy35
  68. # Teensy IMXRT1062DVx6A
  69. - teensy41
  70. # STM32F0
  71. - malyan_M300
  72. - STM32F070CB_malyan
  73. - STM32F070RB_malyan
  74. # STM32F1
  75. - chitu_f103
  76. - mks_robin
  77. - mks_robin_nano_v1v2
  78. - PANDA_PI_V29
  79. - STM32F103RC_btt
  80. - STM32F103RC_fysetc
  81. - STM32F103RE_btt
  82. - STM32F103RE_btt_USB
  83. - STM32F103RE_creality
  84. - STM32F103VE_longer
  85. #- mks_robin_mini
  86. #- mks_robin_nano_v1_3_f4_usbmod
  87. #- mks_robin_nano_v1v2_usbmod
  88. #- STM32F103CB_malyan
  89. #- STM32F103RC_btt_USB
  90. #- STM32F103RE
  91. # STM32F4
  92. - ARMED
  93. - BTT_BTT002
  94. - BTT_GTR_V1_0
  95. - BTT_SKR_PRO
  96. - FLYF407ZG
  97. - FYSETC_S6
  98. - LERDGEK
  99. - LERDGEX
  100. - mks_robin_pro2
  101. - Opulo_Lumen_REV3
  102. - rumba32
  103. - STM32F401RC_creality
  104. - STM32F407VE_black
  105. - I3DBEEZ9_V1
  106. # STM32F7
  107. - NUCLEO_F767ZI
  108. - REMRAM_V1
  109. # STM32H7
  110. - BTT_SKR_SE_BX
  111. - STM32H743VI_btt
  112. # STM32F1 (Maple)
  113. - jgaurora_a5s_a1_maple
  114. - mks_robin_lite_maple
  115. - mks_robin_pro_maple
  116. - STM32F103RC_btt_USB_maple
  117. - STM32F103RC_fysetc_maple
  118. - STM32F103RC_meeb_maple
  119. - STM32F103VE_longer_maple
  120. - STM32F103VE_ZM3E4V2_USB_maple
  121. #- mks_robin_maple
  122. #- mks_robin_nano_v1v2_maple
  123. #- STM32F103RC_btt_maple
  124. #- STM32F103RE_creality_maple
  125. # STM32G0
  126. - STM32G0B1RE_btt
  127. # HC32
  128. - HC32F460C_aquila_101
  129. # LPC176x - Lengthy tests
  130. - LPC1768
  131. - LPC1769
  132. steps:
  133. - name: Check out the PR
  134. uses: actions/checkout@v4
  135. - name: Cache pip
  136. uses: actions/cache@v4
  137. with:
  138. path: ~/.cache/pip
  139. key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
  140. restore-keys: |
  141. ${{ runner.os }}-pip-
  142. - name: Cache PlatformIO
  143. uses: actions/cache@v4
  144. with:
  145. path: ~/.platformio
  146. key: ${{ runner.os }}-${{ hashFiles('**/lockfiles') }}
  147. - name: Select Python 3.9
  148. uses: actions/setup-python@v5
  149. with:
  150. python-version: '3.9'
  151. architecture: 'x64'
  152. - name: Install PlatformIO
  153. run: |
  154. pip install -U platformio
  155. pio upgrade --dev
  156. pio pkg update --global
  157. - name: Install Simulator dependencies
  158. run: |
  159. sudo apt-get install build-essential
  160. sudo apt-get install libsdl2-dev
  161. sudo apt-get install libsdl2-net-dev
  162. sudo apt-get install libglm-dev
  163. - name: Run ${{ matrix.test-platform }} Tests
  164. run: |
  165. make tests-single-ci TEST_TARGET=${{ matrix.test-platform }}