mirror of
				https://github.com/pascallanger/DIY-Multiprotocol-TX-Module.git
				synced 2025-10-29 10:01:04 +00:00 
			
		
		
		
	Update Travis CI script (#257)
* Use latest STM32 board options * Use latest Arduino IDE * Fix build functions to return an error if the build fails * Modify the files that get exported to releases
This commit is contained in:
		
							parent
							
								
									b3cb286088
								
							
						
					
					
						commit
						c27b60749f
					
				
							
								
								
									
										103
									
								
								.travis.yml
									
									
									
									
									
								
							
							
						
						
									
										103
									
								
								.travis.yml
									
									
									
									
									
								
							| @ -5,14 +5,15 @@ language: c | |||||||
|   # |   # | ||||||
| env: | env: | ||||||
|   global: |   global: | ||||||
|     - IDE_VERSION=1.8.1 |     - IDE_VERSION=1.8.9 | ||||||
|   matrix: |   matrix: | ||||||
|     - BOARD="multi4in1:STM32F1:multistm32f103c:upload_method=serialMethod" |  | ||||||
|     - BOARD="multi4in1:STM32F1:multistm32f103c:upload_method=TxFlashMethod" |  | ||||||
|     - BOARD="multi4in1:avr:multixmega32d4" |  | ||||||
|     - BOARD="multi4in1:avr:multiatmega328p:bootloader=none" |     - BOARD="multi4in1:avr:multiatmega328p:bootloader=none" | ||||||
|     - BOARD="multi4in1:avr:multiatmega328p:bootloader=optiboot" |     - BOARD="multi4in1:avr:multiatmega328p:bootloader=optiboot" | ||||||
|   # |     - BOARD="multi4in1:avr:multixmega32d4" | ||||||
|  |     - BOARD="multi4in1:STM32F1:multistm32f103c:debug_option=none" | ||||||
|  |     - BOARD="multi4in1:STM32F1:multistm32f103c:debug_option=native" | ||||||
|  |     - BOARD="multi4in1:STM32F1:multistm32f103c:debug_option=ftdi" | ||||||
|  |     # | ||||||
| notifications: | notifications: | ||||||
|   email: false |   email: false | ||||||
|   # |   # | ||||||
| @ -41,10 +42,18 @@ before_install: | |||||||
|       arduino --install-boards multi4in1:avr; |       arduino --install-boards multi4in1:avr; | ||||||
|     fi |     fi | ||||||
|   # |   # | ||||||
|   - buildMulti() { BUILDCMD="arduino --verify --board $BOARD Multiprotocol/Multiprotocol.ino --pref build.path=./build/"; echo $BUILDCMD; $BUILDCMD; echo; } |   - buildMulti() { exitcode=0; BUILDCMD="arduino --verify --board $BOARD Multiprotocol/Multiprotocol.ino --pref build.path=./build/"; echo $BUILDCMD; $BUILDCMD; if [ $? -ne 0 ]; then exitcode=1; fi; echo; return $exitcode; } | ||||||
|   - buildProtocol() { opt_disable $ALL_PROTOCOLS; opt_enable $1; buildMulti; } |   - buildProtocol() { exitcode=0; opt_disable $ALL_PROTOCOLS; opt_enable $1; buildMulti; if [ $? -ne 0 ]; then exitcode=1; fi; return $exitcode; } | ||||||
|   - buildEachProtocol() { exitcode=0; for PROTOCOL in $ALL_PROTOCOLS ; do echo Building $PROTOCOL; buildProtocol $PROTOCOL; if [ $? -ne 0 ]; then exitcode=1; fi; done; return $exitcode; } |   - buildEachProtocol() { exitcode=0; for PROTOCOL in $ALL_PROTOCOLS ; do echo Building $PROTOCOL; buildProtocol $PROTOCOL; if [ $? -ne 0 ]; then exitcode=1; fi; done; return $exitcode; } | ||||||
|   # |   # | ||||||
|  |   # Arduino IDE adds a lot of noise caused by network traffic; firewall it | ||||||
|  |   - sudo iptables -P INPUT DROP | ||||||
|  |   - sudo iptables -P FORWARD DROP | ||||||
|  |   - sudo iptables -P OUTPUT ACCEPT | ||||||
|  |   - sudo iptables -A INPUT -i lo -j ACCEPT | ||||||
|  |   - sudo iptables -A OUTPUT -o lo -j ACCEPT | ||||||
|  |   - sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT | ||||||
|  |   # | ||||||
| install: true | install: true | ||||||
| before_script: | before_script: | ||||||
|   # |   # | ||||||
| @ -66,9 +75,9 @@ before_script: | |||||||
|     fi |     fi | ||||||
|   - echo $ALL_PROTOCOLS |   - echo $ALL_PROTOCOLS | ||||||
|   # |   # | ||||||
|   # Enable CHECK_FOR_BOOTLOADER when needed |   # Disable CHECK_FOR_BOOTLOADER when not needed | ||||||
|   - if [[ "$BOARD" =~ ":upload_method=TxFlashMethod" ]] || [[ "$BOARD" =~ ":bootloader=optiboot" ]]; then |   - if [[ "$BOARD" == "multi4in1:avr:multiatmega328p:bootloader=none" ]]; then | ||||||
|       opt_enable CHECK_FOR_BOOTLOADER; |       opt_disable CHECK_FOR_BOOTLOADER; | ||||||
|     fi |     fi | ||||||
|   # |   # | ||||||
|   # Trim the build down for the Atmega328p board |   # Trim the build down for the Atmega328p board | ||||||
| @ -103,68 +112,90 @@ before_deploy: | |||||||
|   # Restore the default configuration |   # Restore the default configuration | ||||||
|   - cp ./_Config.h.bak Multiprotocol/_Config.h |   - cp ./_Config.h.bak Multiprotocol/_Config.h | ||||||
|   # Build the release files for OrangeRX |   # Build the release files for OrangeRX | ||||||
|   - if [[ "$BOARD" =~ "multi4in1:avr:multixmega32d4" ]]; then |   - if [[ "$BOARD" == "multi4in1:avr:multixmega32d4" ]]; then | ||||||
|       opt_enable $ALL_PROTOCOLS; |       opt_enable $ALL_PROTOCOLS; | ||||||
|       opt_disable ORANGE_TX_BLUE; |       opt_disable ORANGE_TX_BLUE; | ||||||
|       buildMulti; |       buildMulti; | ||||||
|       mv build/Multiprotocol.ino.hex ./binaries/Multi-OrangeRX_Green_INV-$TRAVIS_TAG.hex; |       mv build/Multiprotocol.ino.hex ./binaries/multi-orangerx-green-inv-$TRAVIS_TAG.hex; | ||||||
|       opt_enable ORANGE_TX_BLUE; |       opt_enable ORANGE_TX_BLUE; | ||||||
|       buildMulti; |       buildMulti; | ||||||
|       mv build/Multiprotocol.ino.hex ./binaries/Multi-OrangeRX_Blue_INV-$TRAVIS_TAG.hex; |       mv build/Multiprotocol.ino.hex ./binaries/multi-orangerx-blue-inv-$TRAVIS_TAG.hex; | ||||||
|     fi |     fi | ||||||
|   # Build the release files for AVR without bootloader |   # Build the release files for AVR without bootloader | ||||||
|   - if [[ "$BOARD" =~ "multi4in1:avr:multiatmega328p:bootloader=none" ]]; then |   - if [[ "$BOARD" == "multi4in1:avr:multiatmega328p:bootloader=none" ]]; then | ||||||
|       opt_disable CHECK_FOR_BOOTLOADER; |       opt_disable CHECK_FOR_BOOTLOADER; | ||||||
|       opt_disable $ALL_PROTOCOLS; |       opt_disable $ALL_PROTOCOLS; | ||||||
|       opt_enable $A7105_PROTOCOLS; |       opt_enable $A7105_PROTOCOLS; | ||||||
|       buildMulti; |       buildMulti; | ||||||
|       mv build/Multiprotocol.ino.hex ./binaries/Multi-AVR_USBASP_A7105_INV-$TRAVIS_TAG.hex; |       mv build/Multiprotocol.ino.hex ./binaries/multi-avr-usbasp-A7105-inv-$TRAVIS_TAG.hex; | ||||||
|       opt_disable $ALL_PROTOCOLS; |       opt_disable $ALL_PROTOCOLS; | ||||||
|       opt_enable $CC2500_PROTOCOLS; |       opt_enable $CC2500_PROTOCOLS; | ||||||
|       buildMulti; |       buildMulti; | ||||||
|       mv build/Multiprotocol.ino.hex ./binaries/Multi-AVR_USBASP_CC2500_INV-$TRAVIS_TAG.hex; |       mv build/Multiprotocol.ino.hex ./binaries/multi-avr-usbasp-CC2500-inv-$TRAVIS_TAG.hex; | ||||||
|       opt_disable $ALL_PROTOCOLS; |       opt_disable $ALL_PROTOCOLS; | ||||||
|       opt_enable $CYRF6936_PROTOCOLS; |       opt_enable $CYRF6936_PROTOCOLS; | ||||||
|       buildMulti; |       buildMulti; | ||||||
|       mv build/Multiprotocol.ino.hex ./binaries/Multi-AVR_USBASP_CYRF6936_INV-$TRAVIS_TAG.hex; |       mv build/Multiprotocol.ino.hex ./binaries/multi-avr-usbasp-CYRF6936-inv-$TRAVIS_TAG.hex; | ||||||
|     fi |     fi | ||||||
|   # Build the release files for AVR with bootloader |   # Build the release files for AVR with bootloader | ||||||
|   - if [[ "$BOARD" =~ "multi4in1:avr:multiatmega328p:bootloader=optiboot" ]]; then |   - if [[ "$BOARD" == "multi4in1:avr:multiatmega328p:bootloader=optiboot" ]]; then | ||||||
|       opt_enable CHECK_FOR_BOOTLOADER; |       opt_enable CHECK_FOR_BOOTLOADER; | ||||||
|       opt_disable $ALL_PROTOCOLS; |       opt_disable $ALL_PROTOCOLS; | ||||||
|       opt_enable $A7105_PROTOCOLS; |       opt_enable $A7105_PROTOCOLS; | ||||||
|       buildMulti; |       buildMulti; | ||||||
|       mv build/Multiprotocol.ino.hex ./binaries/Multi-AVR_TXFLASH_A7105_INV-$TRAVIS_TAG.hex; |       mv build/Multiprotocol.ino.hex ./binaries/multi-avr-txflash-A7105-inv-$TRAVIS_TAG.hex; | ||||||
|       opt_disable $ALL_PROTOCOLS; |       opt_disable $ALL_PROTOCOLS; | ||||||
|       opt_enable $CC2500_PROTOCOLS; |       opt_enable $CC2500_PROTOCOLS; | ||||||
|       buildMulti; |       buildMulti; | ||||||
|       mv build/Multiprotocol.ino.hex ./binaries/Multi-AVR_TXFLASH_CC2500_INV-$TRAVIS_TAG.hex; |       mv build/Multiprotocol.ino.hex ./binaries/multi-avr-txflash-CC2500-inv-$TRAVIS_TAG.hex; | ||||||
|       opt_disable $ALL_PROTOCOLS; |       opt_disable $ALL_PROTOCOLS; | ||||||
|       opt_enable $CYRF6936_PROTOCOLS; |       opt_enable $CYRF6936_PROTOCOLS; | ||||||
|       buildMulti; |       buildMulti; | ||||||
|       mv build/Multiprotocol.ino.hex ./binaries/Multi-AVR_TXFLASH_CYRF6936_INV-$TRAVIS_TAG.hex; |       mv build/Multiprotocol.ino.hex ./binaries/multi-avr-txflash-CYRF6936-inv-$TRAVIS_TAG.hex; | ||||||
|     fi |     fi | ||||||
|   # Build the release files for STM32 without bootloader |   # Build the release files for STM32 without debug | ||||||
|   - if [[ "$BOARD" =~ "multi4in1:STM32F1:multistm32f103c:upload_method=serialMethod" ]]; then |   - if [[ "$BOARD" == "multi4in1:STM32F1:multistm32f103c:debug_method=none" ]]; then | ||||||
|       opt_disable CHECK_FOR_BOOTLOADER; |  | ||||||
|       opt_enable $ALL_PROTOCOLS; |  | ||||||
|       buildMulti; |  | ||||||
|       mv build/Multiprotocol.ino.bin ./binaries/Multi-STM_FTDI_INV-$TRAVIS_TAG.bin; |  | ||||||
|       opt_disable MULTI_STATUS; |  | ||||||
|       opt_enable MULTI_TELEMETRY; |  | ||||||
|       buildMulti; |  | ||||||
|       mv build/Multiprotocol.ino.bin ./binaries/Multi-STM_FTDI_INV_OPENTX-$TRAVIS_TAG.bin; |  | ||||||
|     fi |  | ||||||
|   # Build the release files for STM32 with bootloader |  | ||||||
|   - if [[ "$BOARD" =~ "multi4in1:STM32F1:multistm32f103c:upload_method=TxFlashMethod" ]]; then |  | ||||||
|       opt_enable CHECK_FOR_BOOTLOADER; |       opt_enable CHECK_FOR_BOOTLOADER; | ||||||
|       opt_enable $ALL_PROTOCOLS; |       opt_enable $ALL_PROTOCOLS; | ||||||
|  |       opt_enable MULTI_STATUS; | ||||||
|  |       opt_disable MULTI_TELEMETRY; | ||||||
|       buildMulti; |       buildMulti; | ||||||
|       mv build/Multiprotocol.ino.bin ./binaries/Multi-STM_TXFLASH_INV-$TRAVIS_TAG.bin; |       mv build/Multiprotocol.ino.bin ./binaries/multi-stm-erskytx-inv-$TRAVIS_TAG.bin; | ||||||
|  |       opt_disable INVERT_TELEMETRY; | ||||||
|  |       buildMulti; | ||||||
|  |       mv build/Multiprotocol.ino.bin ./binaries/multi-stm-erskytx-noinv-$TRAVIS_TAG.bin; | ||||||
|  |       opt_disable MULTI_STATUS; | ||||||
|  |       opt_enable MULTI_TELEMETRY; | ||||||
|  |       opt_enable INVERT_TELEMETRY; | ||||||
|  |       buildMulti; | ||||||
|  |       mv build/Multiprotocol.ino.bin ./binaries/multi-stm-opentx-inv-$TRAVIS_TAG.bin; | ||||||
|  |       opt_disable INVERT_TELEMETRY; | ||||||
|  |       buildMulti; | ||||||
|  |       mv build/Multiprotocol.ino.bin ./binaries/multi-stm-opentx-noinv-$TRAVIS_TAG.bin; | ||||||
|  |     fi | ||||||
|  |   # Build the release files for STM32 with Native USB debugging | ||||||
|  |   - if [[ "$BOARD" == "multi4in1:STM32F1:multistm32f103c:debug_method=native" ]]; then | ||||||
|  |       opt_enable CHECK_FOR_BOOTLOADER; | ||||||
|  |       opt_enable $ALL_PROTOCOLS; | ||||||
|  |       opt_enable MULTI_STATUS; | ||||||
|  |       opt_disable MULTI_TELEMETRY; | ||||||
|  |       mv build/Multiprotocol.ino.bin ./binaries/multi-stm-erskytx-inv-usbdebug-$TRAVIS_TAG.bin; | ||||||
|       opt_disable MULTI_STATUS; |       opt_disable MULTI_STATUS; | ||||||
|       opt_enable MULTI_TELEMETRY; |       opt_enable MULTI_TELEMETRY; | ||||||
|       buildMulti; |       buildMulti; | ||||||
|       mv build/Multiprotocol.ino.bin ./binaries/Multi-STM_TXFLASH_INV_OPENTX-$TRAVIS_TAG.bin; |       mv build/Multiprotocol.ino.bin ./binaries/multi-stm-opentx-inv-usbdebug-$TRAVIS_TAG.bin; | ||||||
|  |     fi | ||||||
|  |   # Build the release files for STM32 with FTDI USB debugging | ||||||
|  |   - if [[ "$BOARD" == "multi4in1:STM32F1:multistm32f103c:debug_method=ftdi" ]]; then | ||||||
|  |       opt_enable CHECK_FOR_BOOTLOADER; | ||||||
|  |       opt_enable $ALL_PROTOCOLS; | ||||||
|  |       opt_enable MULTI_STATUS; | ||||||
|  |       opt_disable MULTI_TELEMETRY; | ||||||
|  |       mv build/Multiprotocol.ino.bin ./binaries/multi-stm-erskytx-inv-ftdidebug-$TRAVIS_TAG.bin; | ||||||
|  |       opt_disable MULTI_STATUS; | ||||||
|  |       opt_enable MULTI_TELEMETRY; | ||||||
|  |       buildMulti; | ||||||
|  |       mv build/Multiprotocol.ino.bin ./binaries/multi-stm-opentx-inv-ftdidebug-$TRAVIS_TAG.bin; | ||||||
|     fi |     fi | ||||||
| deploy: | deploy: | ||||||
|   provider: releases |   provider: releases | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user