test-builds.yml 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. #
  2. # test-builds.yml
  3. # Do test builds to catch compile errors
  4. #
  5. name: CI
  6. on:
  7. pull_request:
  8. branches:
  9. - bugfix-2.0.x
  10. paths-ignore:
  11. - config/**
  12. - data/**
  13. - docs/**
  14. - '**/*.md'
  15. push:
  16. branches:
  17. - bugfix-2.0.x
  18. paths-ignore:
  19. - config/**
  20. - data/**
  21. - docs/**
  22. - '**/*.md'
  23. jobs:
  24. test_builds:
  25. name: Run All Tests
  26. if: github.repository == 'MarlinFirmware/Marlin'
  27. runs-on: ubuntu-latest
  28. strategy:
  29. matrix:
  30. test-platform:
  31. # Base Environments
  32. - DUE
  33. - esp32
  34. - linux_native
  35. - mega2560
  36. - teensy31
  37. - teensy35
  38. - SAMD51_grandcentral_m4
  39. # Extended AVR Environments
  40. - FYSETC_F6_13
  41. - mega1280
  42. - rambo
  43. - sanguino1284p
  44. - sanguino644p
  45. # Extended STM32 Environments
  46. - STM32F103RC_btt
  47. - STM32F103RC_btt_USB
  48. - STM32F103RE_btt
  49. - STM32F103RE_btt_USB
  50. - STM32F103RC_fysetc
  51. - jgaurora_a5s_a1
  52. - STM32F103VE_longer
  53. - STM32F407VE_black
  54. - BIGTREE_SKR_PRO
  55. - BIGTREE_GTR_V1_0
  56. - mks_robin
  57. - ARMED
  58. - FYSETC_S6
  59. # Put lengthy tests last
  60. - LPC1768
  61. - LPC1769
  62. # STM32 with non-STM framework. both broken for now. they should use HAL_STM32 which is working.
  63. #- STM32F4
  64. #- STM32F7
  65. # Non-working environment tests
  66. #- BIGTREE_BTT002
  67. #- at90usb1286_cdc
  68. #- at90usb1286_dfu
  69. #- STM32F103CB_malyan
  70. #- mks_robin_lite
  71. #- mks_robin_mini
  72. #- mks_robin_nano
  73. steps:
  74. - name: Select Python 3.7
  75. uses: actions/setup-python@v1
  76. with:
  77. python-version: '3.7' # Version range or exact version of a Python version to use, using semvers version range syntax.
  78. architecture: 'x64' # optional x64 or x86. Defaults to x64 if not specified
  79. - name: Install PlatformIO
  80. run: |
  81. pip install -U https://github.com/platformio/platformio-core/archive/master.zip
  82. platformio update
  83. - name: Check out the PR
  84. uses: actions/checkout@v2
  85. - name: Run ${{ matrix.test-platform }} Tests
  86. run: |
  87. # Inline tests script
  88. [[ "$GITHUB_REPOSITORY" == "MarlinFirmware/Marlin" ]] || exit 0
  89. chmod +x buildroot/bin/*
  90. chmod +x buildroot/share/tests/*
  91. export PATH=./buildroot/bin/:./buildroot/share/tests/:${PATH}
  92. run_tests . ${{ matrix.test-platform }}