ci-build-tests.yml 3.9 KB

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