.travis.yml 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389
  1. dist: bionic
  2. sudo: true
  3. #
  4. language: c
  5. #
  6. notifications:
  7. email: false
  8. #
  9. before_install:
  10. #
  11. # Fetch the tag information for the current branch
  12. - git fetch origin --tags
  13. #
  14. # Publish the buildroot script folder
  15. - chmod +x ${TRAVIS_BUILD_DIR}/buildroot/bin/*
  16. - export PATH=${TRAVIS_BUILD_DIR}/buildroot/bin/:${PATH}
  17. #
  18. # Start fb X server
  19. - "/sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_1.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :1 -ac -screen 0 1280x1024x16"
  20. - sleep 3
  21. - export DISPLAY=:1.0
  22. #
  23. install:
  24. #
  25. # Install arduino 1.8.5
  26. - wget http://downloads.arduino.cc/arduino-1.8.9-linux64.tar.xz
  27. - tar xf arduino-1.8.9-linux64.tar.xz
  28. - sudo mv arduino-1.8.9 /usr/local/share/arduino
  29. - ln -s /usr/local/share/arduino/arduino ${TRAVIS_BUILD_DIR}/buildroot/bin/arduino
  30. #
  31. # Install: LiquidCrystal_I2C library
  32. - git clone https://github.com/kiyoshigawa/LiquidCrystal_I2C.git
  33. - mv LiquidCrystal_I2C/LiquidCrystal_I2C /usr/local/share/arduino/libraries/LiquidCrystal_I2C
  34. #
  35. # Install: LiquidTWI2 library
  36. - git clone https://github.com/lincomatic/LiquidTWI2.git
  37. - sudo mv LiquidTWI2 /usr/local/share/arduino/libraries/LiquidTWI2
  38. #
  39. # Install: Monochrome Graphics Library for LCDs and OLEDs
  40. - git clone https://github.com/olikraus/U8glib_Arduino.git
  41. - sudo mv U8glib_Arduino /usr/local/share/arduino/libraries/U8glib
  42. #
  43. # Install: L6470 Stepper Motor Driver library
  44. # - git clone https://github.com/ameyer/Arduino-L6470.git
  45. # - sudo mv Arduino-L6470/L6470 /usr/local/share/arduino/libraries/L6470
  46. #
  47. # Install: TMC26X Stepper Motor Controller library
  48. # - git clone https://github.com/trinamic/TMC26XStepper.git
  49. # - sudo mv TMC26XStepper /usr/local/share/arduino/libraries/TMC26XStepper
  50. #
  51. # Install: TMC2130 Stepper Motor Controller library
  52. - git clone https://github.com/teemuatlut/TMC2130Stepper.git
  53. - sudo mv TMC2130Stepper /usr/local/share/arduino/libraries/TMC2130Stepper
  54. #
  55. # Install: TMC2208 Stepper Motor Controller library
  56. - git clone https://github.com/teemuatlut/TMC2208Stepper.git
  57. - sudo mv TMC2208Stepper /usr/local/share/arduino/libraries/TMC2208Stepper
  58. #
  59. # Install: Adafruit Neopixel library
  60. - git clone https://github.com/adafruit/Adafruit_NeoPixel.git
  61. - sudo mv Adafruit_NeoPixel /usr/local/share/arduino/libraries/Adafruit_NeoPixel
  62. #
  63. before_script:
  64. #
  65. # Change current working directory to the build dir
  66. - cd ${TRAVIS_BUILD_DIR}
  67. #
  68. # Generate custom version include
  69. - generate_version_header_for_marlin ${TRAVIS_BUILD_DIR}/Marlin
  70. - cat ${TRAVIS_BUILD_DIR}/Marlin/_Version.h
  71. #
  72. script:
  73. #
  74. # Backup Configuration.h, Configuration_adv.h, and pins_RAMPS.h
  75. #
  76. - cp Marlin/Configuration.h Marlin/Configuration.h.backup
  77. - cp Marlin/Configuration_adv.h Marlin/Configuration_adv.h.backup
  78. - cp Marlin/pins_RAMPS.h Marlin/pins_RAMPS.h.backup
  79. #
  80. # Build with the default configurations
  81. #
  82. - build_marlin
  83. #
  84. # Test 2 extruders (one MAX6675) and heated bed on basic RAMPS 1.4
  85. # Test a "Fix Mounted" Probe with Safe Homing, some arc options,
  86. # linear bed leveling, M48, leveling debug, and firmware retraction.
  87. #
  88. - opt_set MOTHERBOARD BOARD_RAMPS_14_EEB
  89. - opt_set EXTRUDERS 2
  90. - opt_set TEMP_SENSOR_0 -2
  91. - opt_set TEMP_SENSOR_1 1
  92. - opt_set TEMP_SENSOR_BED 1
  93. - opt_set POWER_SUPPLY 1
  94. - opt_enable PIDTEMPBED FIX_MOUNTED_PROBE Z_SAFE_HOMING
  95. - opt_enable REPRAP_DISCOUNT_SMART_CONTROLLER SDSUPPORT EEPROM_SETTINGS PINS_DEBUGGING
  96. - opt_enable BLINKM PCA9632 RGB_LED NEOPIXEL_LED AUTO_POWER_CONTROL NOZZLE_PARK_FEATURE FILAMENT_RUNOUT_SENSOR
  97. - opt_enable AUTO_BED_LEVELING_LINEAR Z_MIN_PROBE_REPEATABILITY_TEST DEBUG_LEVELING_FEATURE SKEW_CORRECTION SKEW_CORRECTION_FOR_Z SKEW_CORRECTION_GCODE
  98. - opt_enable_adv ARC_P_CIRCLES ADVANCED_PAUSE_FEATURE CNC_WORKSPACE_PLANES CNC_COORDINATE_SYSTEMS POWER_LOSS_RECOVERY POWER_LOSS_PIN POWER_LOSS_STATE
  99. - opt_enable_adv FWRETRACT MAX7219_DEBUG LED_CONTROL_MENU CASE_LIGHT_ENABLE CASE_LIGHT_USE_NEOPIXEL CODEPENDENT_XY_HOMING
  100. - opt_set GRID_MAX_POINTS_X 16
  101. - opt_set_adv FANMUX0_PIN 53
  102. - build_marlin
  103. #
  104. # Test a probeless build of AUTO_BED_LEVELING_UBL, with lots of extruders
  105. #
  106. - restore_configs
  107. - opt_set MOTHERBOARD BOARD_AZTEEG_X3_PRO
  108. - opt_set EXTRUDERS 5
  109. - opt_set TEMP_SENSOR_1 1
  110. - opt_set TEMP_SENSOR_2 5
  111. - opt_set TEMP_SENSOR_3 20
  112. - opt_set TEMP_SENSOR_4 999
  113. - opt_set TEMP_SENSOR_BED 1
  114. - opt_enable AUTO_BED_LEVELING_UBL RESTORE_LEVELING_AFTER_G28 DEBUG_LEVELING_FEATURE G26_MESH_EDITING ENABLE_LEVELING_FADE_HEIGHT SKEW_CORRECTION
  115. - opt_enable EEPROM_SETTINGS EEPROM_CHITCHAT REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
  116. - opt_enable_adv CUSTOM_USER_MENUS I2C_POSITION_ENCODERS BABYSTEPPING BABYSTEP_XY LIN_ADVANCE NANODLP_Z_SYNC QUICK_HOME JUNCTION_DEVIATION MAX7219_DEBUG
  117. - opt_set_adv MAX7219_ROTATE 270
  118. - build_marlin
  119. #
  120. # Add a Sled Z Probe, use UBL Cartesian moves, use Japanese language
  121. #
  122. - opt_enable Z_PROBE_SLED SKEW_CORRECTION SKEW_CORRECTION_FOR_Z SKEW_CORRECTION_GCODE S_CURVE_ACCELERATION
  123. - opt_set LCD_LANGUAGE kana_utf8
  124. - opt_disable SEGMENT_LEVELED_MOVES
  125. - opt_enable_adv BABYSTEP_ZPROBE_OFFSET DOUBLECLICK_FOR_Z_BABYSTEPPING
  126. - build_marlin
  127. #
  128. # Test a Servo Probe
  129. # ...with AUTO_BED_LEVELING_3POINT, DEBUG_LEVELING_FEATURE, EEPROM_SETTINGS, EEPROM_CHITCHAT, EXTENDED_CAPABILITIES_REPORT, and AUTO_REPORT_TEMPERATURES
  130. #
  131. - restore_configs
  132. - opt_enable NUM_SERVOS Z_PROBE_SERVO_NR Z_SERVO_ANGLES DEACTIVATE_SERVOS_AFTER_MOVE
  133. - opt_set NUM_SERVOS 1
  134. - opt_enable AUTO_BED_LEVELING_3POINT DEBUG_LEVELING_FEATURE EEPROM_SETTINGS EEPROM_CHITCHAT
  135. - opt_enable_adv NO_VOLUMETRICS EXTENDED_CAPABILITIES_REPORT AUTO_REPORT_TEMPERATURES AUTOTEMP G38_PROBE_TARGET
  136. - build_marlin
  137. #
  138. # Test MESH_BED_LEVELING feature, with LCD
  139. #
  140. - restore_configs
  141. - opt_enable MESH_BED_LEVELING G26_MESH_EDITING MESH_G28_REST_ORIGIN LCD_BED_LEVELING ULTIMAKERCONTROLLER
  142. - build_marlin
  143. #
  144. # Test MINIRAMBO for PWM_MOTOR_CURRENT
  145. # PROBE_MANUALLY feature, with LCD support,
  146. # ULTIMAKERCONTROLLER, FILAMENT_LCD_DISPLAY, FILAMENT_WIDTH_SENSOR,
  147. # PRINTCOUNTER, NOZZLE_PARK_FEATURE, NOZZLE_CLEAN_FEATURE, PCA9632,
  148. # Z_DUAL_ENDSTOPS, BEZIER_CURVE_SUPPORT, EXPERIMENTAL_I2CBUS,
  149. # ADVANCED_PAUSE_FEATURE, ADVANCED_PAUSE_CONTINUOUS_PURGE, PARK_HEAD_ON_PAUSE, LCD_INFO_MENU, M114_DETAIL
  150. # EEPROM_SETTINGS, EEPROM_CHITCHAT, M100_FREE_MEMORY_WATCHER,
  151. # INCH_MODE_SUPPORT, TEMPERATURE_UNITS_SUPPORT
  152. #
  153. - restore_configs
  154. - opt_set MOTHERBOARD BOARD_MINIRAMBO
  155. - opt_enable PROBE_MANUALLY AUTO_BED_LEVELING_BILINEAR G26_MESH_EDITING LCD_BED_LEVELING ULTIMAKERCONTROLLER
  156. - opt_enable EEPROM_SETTINGS EEPROM_CHITCHAT M100_FREE_MEMORY_WATCHER M100_FREE_MEMORY_DUMPER M100_FREE_MEMORY_CORRUPTOR INCH_MODE_SUPPORT TEMPERATURE_UNITS_SUPPORT
  157. - opt_enable ULTIMAKERCONTROLLER SDSUPPORT
  158. - opt_enable PRINTCOUNTER NOZZLE_PARK_FEATURE NOZZLE_CLEAN_FEATURE PCA9632
  159. - opt_enable_adv BEZIER_CURVE_SUPPORT EXPERIMENTAL_I2CBUS
  160. - opt_enable_adv ADVANCED_PAUSE_FEATURE ADVANCED_PAUSE_CONTINUOUS_PURGE FILAMENT_LOAD_UNLOAD_GCODES PARK_HEAD_ON_PAUSE LCD_INFO_MENU M114_DETAIL
  161. - opt_set_adv PWM_MOTOR_CURRENT {1300,1300,1250}
  162. - opt_set_adv I2C_SLAVE_ADDRESS 63
  163. - build_marlin
  164. #
  165. # Mixing Extruder with 5 steppers, Cyrillic
  166. #
  167. - restore_configs
  168. - opt_set MOTHERBOARD BOARD_AZTEEG_X3_PRO
  169. - opt_enable MIXING_EXTRUDER CR10_STOCKDISPLAY
  170. - opt_set MIXING_STEPPERS 5
  171. - opt_set LCD_LANGUAGE ru
  172. - build_marlin
  173. #
  174. # Test DUAL_X_CARRIAGE
  175. #
  176. - restore_configs
  177. - opt_set MOTHERBOARD BOARD_RUMBA
  178. - opt_set EXTRUDERS 2
  179. - opt_set TEMP_SENSOR_1 1
  180. - opt_enable USE_XMAX_PLUG
  181. - opt_enable_adv DUAL_X_CARRIAGE
  182. - build_marlin
  183. #
  184. # Test SPEAKER with BOARD_BQ_ZUM_MEGA_3D and BQ_LCD_SMART_CONTROLLER
  185. #
  186. #- restore_configs
  187. #- opt_set MOTHERBOARD BOARD_BQ_ZUM_MEGA_3D
  188. #- opt_set LCD_FEEDBACK_FREQUENCY_DURATION_MS 10
  189. #- opt_set LCD_FEEDBACK_FREQUENCY_HZ 100
  190. #- opt_enable BQ_LCD_SMART_CONTROLLER SPEAKER
  191. #
  192. # Test SWITCHING_EXTRUDER
  193. #
  194. - restore_configs
  195. - opt_set MOTHERBOARD BOARD_RUMBA
  196. - opt_set EXTRUDERS 2
  197. - opt_enable NUM_SERVOS
  198. - opt_set NUM_SERVOS 1
  199. - opt_enable SWITCHING_EXTRUDER ULTIMAKERCONTROLLER
  200. - build_marlin
  201. #
  202. # Enable COREXY
  203. #
  204. #- restore_configs
  205. #- opt_enable COREXY
  206. #- build_marlin
  207. #
  208. # Test many less common options
  209. #
  210. - restore_configs
  211. - opt_enable COREYX
  212. - opt_set_adv FAN_MIN_PWM 50
  213. - opt_set_adv FAN_KICKSTART_TIME 100
  214. - opt_set_adv XY_FREQUENCY_LIMIT 15
  215. - opt_enable_adv SHOW_TEMP_ADC_VALUES HOME_Y_BEFORE_X EMERGENCY_PARSER FAN_KICKSTART_TIME
  216. - opt_enable_adv ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED ADVANCED_OK
  217. - opt_enable_adv VOLUMETRIC_DEFAULT_ON NO_WORKSPACE_OFFSETS ACTION_ON_KILL
  218. - opt_enable_adv EXTRA_FAN_SPEED FWERETRACT Z_DUAL_STEPPER_DRIVERS Z_DUAL_ENDSTOPS
  219. - opt_enable_adv MENU_ADDAUTOSTART SDCARD_SORT_ALPHA
  220. - opt_enable REPRAP_DISCOUNT_SMART_CONTROLLER BABYSTEPPING DAC_MOTOR_CURRENT_DEFAULT
  221. - opt_enable FILAMENT_LCD_DISPLAY FILAMENT_WIDTH_SENSOR
  222. - opt_enable ENDSTOP_INTERRUPTS_FEATURE FAN_SOFT_PWM SDSUPPORT
  223. - opt_enable USE_XMAX_PLUG
  224. - build_marlin
  225. #
  226. ######## Other Standard LCD/Panels ##############
  227. #
  228. # ULTRA_LCD
  229. #
  230. #- restore_configs
  231. #- opt_enable ULTRA_LCD
  232. #- build_marlin
  233. #
  234. # DOGLCD
  235. #
  236. #- restore_configs
  237. #- opt_enable DOGLCD
  238. #- build_marlin
  239. #
  240. # MAKRPANEL
  241. # Needs to use Melzi and Sanguino hardware
  242. #
  243. #- restore_configs
  244. #- opt_enable MAKRPANEL
  245. #- build_marlin
  246. #
  247. # REPRAP_DISCOUNT_SMART_CONTROLLER, SDSUPPORT, BABYSTEPPING, RIGIDBOARD_V2, and DAC_MOTOR_CURRENT_DEFAULT
  248. #
  249. #- restore_configs
  250. #- opt_set MOTHERBOARD BOARD_RIGIDBOARD_V2
  251. #- opt_enable REPRAP_DISCOUNT_SMART_CONTROLLER SDSUPPORT BABYSTEPPING DAC_MOTOR_CURRENT_DEFAULT
  252. #- build_marlin
  253. # #
  254. # G3D_PANEL with SDCARD_SORT_ALPHA and STATUS_MESSAGE_SCROLLING
  255. #
  256. #- restore_configs
  257. #- opt_enable G3D_PANEL SDSUPPORT
  258. #- opt_enable_adv SDCARD_SORT_ALPHA STATUS_MESSAGE_SCROLLING SCROLL_LONG_FILENAMES
  259. #- opt_set_adv SDSORT_GCODE true
  260. #- opt_set_adv SDSORT_USES_RAM true
  261. #- opt_set_adv SDSORT_USES_STACK true
  262. #- opt_set_adv SDSORT_CACHE_NAMES true
  263. #- build_marlin
  264. #
  265. # REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER with LIGHTWEIGHT_UI
  266. #
  267. - restore_configs
  268. - opt_enable REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER SDSUPPORT
  269. - opt_enable_adv SDCARD_SORT_ALPHA STATUS_MESSAGE_SCROLLING SCROLL_LONG_FILENAMES LIGHTWEIGHT_UI
  270. - opt_set_adv SDSORT_GCODE true
  271. - opt_set_adv SDSORT_USES_RAM true
  272. - opt_set_adv SDSORT_USES_STACK true
  273. - opt_set_adv SDSORT_CACHE_NAMES true
  274. - build_marlin
  275. #
  276. # REPRAPWORLD_KEYPAD
  277. #
  278. # Cant find configuration details to get it to compile
  279. #- restore_configs
  280. #- opt_enable ULTRA_LCD REPRAPWORLD_KEYPAD REPRAPWORLD_KEYPAD_MOVE_STEP
  281. #- build_marlin
  282. #
  283. # RA_CONTROL_PANEL
  284. #
  285. #- restore_configs
  286. #- opt_enable RA_CONTROL_PANEL PINS_DEBUGGING
  287. #- build_marlin
  288. #
  289. ######## I2C LCD/PANELS ##############
  290. #
  291. # !!!ATTENTION!!!
  292. # Most I2C configurations are failing at the moment because they require
  293. # a different Liquid Crystal library "LiquidTWI2".
  294. #
  295. # LCD_SAINSMART_I2C_1602
  296. #
  297. #- restore_configs
  298. #- opt_enable LCD_SAINSMART_I2C_1602
  299. #- build_marlin
  300. #
  301. # LCD_I2C_PANELOLU2
  302. #
  303. #- restore_configs
  304. #- opt_enable LCD_I2C_PANELOLU2
  305. #- build_marlin
  306. #
  307. # LCD_I2C_VIKI
  308. #
  309. #- restore_configs
  310. #- opt_enable LCD_I2C_VIKI
  311. #- build_marlin
  312. #
  313. # LCM1602
  314. #
  315. #- restore_configs
  316. #- opt_enable LCM1602
  317. #- build_marlin
  318. #
  319. # Language files test with REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
  320. #
  321. #- restore_configs
  322. #- opt_enable REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER SDSUPPORT
  323. #- for lang in an bg ca zh_CN zh_TW cz da de el el-gr en es eu fi fr gl hr it jp-kana ko_KR nl pl pt pt-br ru sk tr uk test; do opt_set LCD_LANGUAGE $lang; echo "compile with language $lang ..."; build_marlin
  324. #
  325. #- restore_configs
  326. #- opt_enable REPRAP_DISCOUNT_SMART_CONTROLLER SDSUPPORT
  327. #- for lang in an bg ca zh_CN zh_TW cz da de el el-gr en es eu fi fr gl hr it jp-kana ko_KR nl pl pt pt-br ru sk tr uk test; do opt_set LCD_LANGUAGE $lang; echo "compile with language $lang ..."; build_marlin
  328. #
  329. #
  330. ######## Example Configurations ##############
  331. #
  332. # BQ Hephestos 2
  333. #- restore_configs
  334. #- use_example_configs Hephestos_2
  335. #- build_marlin
  336. #
  337. # Delta Config (generic) + ABL bilinear + PROBE_MANUALLY
  338. - use_example_configs delta/generic
  339. - opt_enable REPRAP_DISCOUNT_SMART_CONTROLLER DELTA_CALIBRATION_MENU AUTO_BED_LEVELING_BILINEAR PROBE_MANUALLY
  340. - build_marlin
  341. #
  342. # Delta Config (generic) + UBL + ALLEN_KEY + OLED_PANEL_TINYBOY2 + EEPROM_SETTINGS
  343. #
  344. - use_example_configs delta/generic
  345. - opt_enable AUTO_BED_LEVELING_UBL RESTORE_LEVELING_AFTER_G28 Z_PROBE_ALLEN_KEY EEPROM_SETTINGS EEPROM_CHITCHAT
  346. - opt_enable OLED_PANEL_TINYBOY2 MESH_EDIT_GFX_OVERLAY
  347. - build_marlin
  348. #
  349. # Delta Config (FLSUN AC because it's complex)
  350. #
  351. - use_example_configs delta/FLSUN/auto_calibrate
  352. - build_marlin
  353. #
  354. # Makibox Config need to check board type for Teensy++ 2.0
  355. #
  356. #- use_example_configs makibox
  357. #- build_marlin
  358. #
  359. # SCARA with TMC2130
  360. #
  361. - use_example_configs SCARA
  362. - opt_enable AUTO_BED_LEVELING_BILINEAR FIX_MOUNTED_PROBE USE_ZMIN_PLUG EEPROM_SETTINGS EEPROM_CHITCHAT ULTIMAKERCONTROLLER
  363. - opt_set X_DRIVER_TYPE TMC2130
  364. - opt_set Y_DRIVER_TYPE TMC2130
  365. - opt_set Z_DRIVER_TYPE TMC2130
  366. - opt_set E0_DRIVER_TYPE TMC2130
  367. - opt_enable_adv MONITOR_DRIVER_STATUS STEALTHCHOP HYBRID_THRESHOLD SENSORLESS_HOMING
  368. - build_marlin
  369. #
  370. # TMC2208 Config
  371. #
  372. - restore_configs
  373. - opt_set X_DRIVER_TYPE TMC2208
  374. - opt_set Y_DRIVER_TYPE TMC2208
  375. - opt_set Z_DRIVER_TYPE TMC2208
  376. - opt_set E0_DRIVER_TYPE TMC2208
  377. - opt_enable_adv MONITOR_DRIVER_STATUS STEALTHCHOP HYBRID_THRESHOLD TMC_DEBUG
  378. - build_marlin
  379. #
  380. # tvrrug Config need to check board type for sanguino atmega644p
  381. #
  382. #- use_example_configs tvrrug/Round2
  383. #- build_marlin
  384. #
  385. #
  386. ######## Board Types #############
  387. #
  388. # To be added in nightly test branch
  389. #