|
| 1 | +# This file is used to configure the Travis CI tests of MCUdude_corefiles |
| 2 | + |
| 3 | +# Although sudo is no longer required by arduino-ci-script since the 1.0.0 release, for some reason setting "sudo: false" causes the Travis CI build time to significantly increase so this setting is left as "sudo: required" |
| 4 | +sudo: required |
| 5 | + |
| 6 | + |
| 7 | +env: |
| 8 | + global: |
| 9 | + # The Arduino IDE will be installed at ${APPLICATION_FOLDER}/arduino |
| 10 | + - APPLICATION_FOLDER="${HOME}/arduino-ide" |
| 11 | + - SKETCHBOOK_FOLDER="${HOME}/Arduino" |
| 12 | + |
| 13 | + |
| 14 | +install: |
| 15 | + # Install the script used to simplify use of Travis CI for testing Arduino projects |
| 16 | + - source "${TRAVIS_BUILD_DIR}/travis-ci/arduino-ci-script/arduino-ci-script.sh" |
| 17 | + |
| 18 | + # These functions can be used to get verbose output for debugging the script |
| 19 | + # set_script_verbosity can be set to values from 0 - 2 (verbosity off - maximum verbosity) |
| 20 | + #- set_script_verbosity 1 |
| 21 | + # Setting set_verbose_output_during_compilation to true is the same as File > Preferences > Show verbose output during > compilation (check) in the Arduino IDE |
| 22 | + #- set_verbose_output_during_compilation "true" |
| 23 | + |
| 24 | + - set_application_folder "$APPLICATION_FOLDER" |
| 25 | + - set_sketchbook_folder "$SKETCHBOOK_FOLDER" |
| 26 | + |
| 27 | + # The oldest version of the Aruino IDE that MightyCore's platform.txt is compatible with is 1.6.2 but that IDE version has a bug that interferes with other installations of the IDE so I'm starting from 1.6.3 |
| 28 | + - install_ide "1.6.3" "newest" |
| 29 | + |
| 30 | + # Install MightyCore |
| 31 | + - install_package "https://github.com/MCUdude/MightyCore/archive/master.zip" |
| 32 | + # Replace the core with the current version from this repository |
| 33 | + - rm --force --recursive --verbose "${SKETCHBOOK_FOLDER}/hardware/MightyCore-master/avr/cores/MightyCore/*" |
| 34 | + - cp --force --recursive --verbose "$TRAVIS_BUILD_DIR"/* "${SKETCHBOOK_FOLDER}/hardware/MightyCore-master/avr/cores/MightyCore" |
| 35 | + |
| 36 | + # MegaCore |
| 37 | + - install_package "https://github.com/MCUdude/MegaCore/archive/master.zip" |
| 38 | + - rm --force --recursive --verbose "${SKETCHBOOK_FOLDER}/hardware/MegaCore-master/avr/cores/MCUdude_corefiles/*" |
| 39 | + - cp --force --recursive --verbose "$TRAVIS_BUILD_DIR"/* "${SKETCHBOOK_FOLDER}/hardware/MegaCore-master/avr/cores/MCUdude_corefiles" |
| 40 | + |
| 41 | + # MajorCore |
| 42 | + - install_package "https://github.com/MCUdude/MajorCore/archive/master.zip" |
| 43 | + - rm --force --recursive --verbose "${SKETCHBOOK_FOLDER}/hardware/MajorCore-master/avr/cores/majorcore/*" |
| 44 | + - cp --force --recursive --verbose "$TRAVIS_BUILD_DIR"/* "${SKETCHBOOK_FOLDER}/hardware/MajorCore-master/avr/cores/majorcore" |
| 45 | + |
| 46 | + # MiniCore (disabled until build.core value is changed in MiniCore's boards.txt) |
| 47 | + #- install_package "https://github.com/MCUdude/MiniCore/archive/master.zip" |
| 48 | + #- rm --force --recursive --verbose "${SKETCHBOOK_FOLDER}/hardware/MiniCore-master/avr/cores/MCUdude_corefiles/*" |
| 49 | + #- cp --force --recursive --verbose "$TRAVIS_BUILD_DIR"/* "${SKETCHBOOK_FOLDER}/hardware/MiniCore-master/avr/cores/MCUdude_corefiles" |
| 50 | + |
| 51 | + |
| 52 | +script: |
| 53 | + # build_sketch arguments: sketch name, fqbn, allow failure, IDE version/list/range |
| 54 | + - build_sketch "${APPLICATION_FOLDER}/arduino/examples/01.Basics/BareMinimum/BareMinimum.ino" "MightyCore-master:avr:1284:pinout=standard,variant=modelP,BOD=2v7,LTO=Os,clock=16MHz_external" "false" "all" |
| 55 | + - build_sketch "${APPLICATION_FOLDER}/arduino/examples/01.Basics/BareMinimum/BareMinimum.ino" "MightyCore-master:avr:644:pinout=standard,variant=modelP,BOD=2v7,LTO=Os,clock=16MHz_external" "false" "all" |
| 56 | + - build_sketch "${APPLICATION_FOLDER}/arduino/examples/01.Basics/BareMinimum/BareMinimum.ino" "MightyCore-master:avr:324:pinout=standard,variant=modelP,BOD=2v7,LTO=Os,clock=16MHz_external" "false" "all" |
| 57 | + - build_sketch "${APPLICATION_FOLDER}/arduino/examples/01.Basics/BareMinimum/BareMinimum.ino" "MightyCore-master:avr:164:pinout=standard,variant=modelP,BOD=2v7,LTO=Os,clock=16MHz_external" "false" "all" |
| 58 | + - build_sketch "${APPLICATION_FOLDER}/arduino/examples/01.Basics/BareMinimum/BareMinimum.ino" "MightyCore-master:avr:32:pinout=standard,BOD=2v7,LTO=Os,clock=16MHz_external" "false" "all" |
| 59 | + - build_sketch "${APPLICATION_FOLDER}/arduino/examples/01.Basics/BareMinimum/BareMinimum.ino" "MightyCore-master:avr:16:pinout=standard,BOD=2v7,LTO=Os,clock=16MHz_external" "false" "all" |
| 60 | + - build_sketch "${APPLICATION_FOLDER}/arduino/examples/01.Basics/BareMinimum/BareMinimum.ino" "MightyCore-master:avr:8535:pinout=standard,BOD=2v7,LTO=Os,clock=16MHz_external" "false" "all" |
| 61 | + |
| 62 | + - build_sketch "${APPLICATION_FOLDER}/arduino/examples/01.Basics/BareMinimum/BareMinimum.ino" "MegaCore-master:avr:2561:BOD=2v7,LTO=Os,clock=16MHz_external" "false" "all" |
| 63 | + - build_sketch "${APPLICATION_FOLDER}/arduino/examples/01.Basics/BareMinimum/BareMinimum.ino" "MegaCore-master:avr:2560:pinout=mega_pinout,BOD=2v7,LTO=Os,clock=16MHz_external" "false" "all" |
| 64 | + - build_sketch "${APPLICATION_FOLDER}/arduino/examples/01.Basics/BareMinimum/BareMinimum.ino" "MegaCore-master:avr:1281:BOD=2v7,LTO=Os,clock=16MHz_external" "false" "all" |
| 65 | + - build_sketch "${APPLICATION_FOLDER}/arduino/examples/01.Basics/BareMinimum/BareMinimum.ino" "MegaCore-master:avr:1280:pinout=mega_pinout,BOD=2v7,LTO=Os,clock=16MHz_external" "false" "all" |
| 66 | + - build_sketch "${APPLICATION_FOLDER}/arduino/examples/01.Basics/BareMinimum/BareMinimum.ino" "MegaCore-master:avr:640:pinout=mega_pinout,BOD=2v7,LTO=Os,clock=16MHz_external" "false" "all" |
| 67 | + - build_sketch "${APPLICATION_FOLDER}/arduino/examples/01.Basics/BareMinimum/BareMinimum.ino" "MegaCore-master:avr:128:BOD=2v7,LTO=Os,clock=16MHz_external" "false" "all" |
| 68 | + - build_sketch "${APPLICATION_FOLDER}/arduino/examples/01.Basics/BareMinimum/BareMinimum.ino" "MegaCore-master:avr:64:BOD=2v7,LTO=Os,clock=16MHz_external" "false" "all" |
| 69 | + |
| 70 | + - build_sketch "${APPLICATION_FOLDER}/arduino/examples/01.Basics/BareMinimum/BareMinimum.ino" "MajorCore-master:avr:162:BOD=2v7,LTO=Os,clock=16MHz_external" "false" "all" |
| 71 | + - build_sketch "${APPLICATION_FOLDER}/arduino/examples/01.Basics/BareMinimum/BareMinimum.ino" "MajorCore-master:avr:8515:BOD=2v7,LTO=Os,clock=16MHz_external" "false" "all" |
| 72 | + |
| 73 | + #- build_sketch "${APPLICATION_FOLDER}/arduino/examples/01.Basics/BareMinimum/BareMinimum.ino" "MiniCore-master:avr:328:variant=modelP,BOD=2v7,LTO=Os,clock=16MHz_external" "false" "all" |
| 74 | + #- build_sketch "${APPLICATION_FOLDER}/arduino/examples/01.Basics/BareMinimum/BareMinimum.ino" "MiniCore-master:avr:168:variant=modelP,BOD=2v7,LTO=Os,clock=16MHz_external" "false" "all" |
| 75 | + #- build_sketch "${APPLICATION_FOLDER}/arduino/examples/01.Basics/BareMinimum/BareMinimum.ino" "MiniCore-master:avr:88:variant=modelP,BOD=2v7,LTO=Os,clock=16MHz_external" "false" "all" |
| 76 | + #- build_sketch "${APPLICATION_FOLDER}/arduino/examples/01.Basics/BareMinimum/BareMinimum.ino" "MiniCore-master:avr:48:variant=modelP,BOD=2v7,LTO=Os,clock=16MHz_external" "false" "all" |
| 77 | + #- build_sketch "${APPLICATION_FOLDER}/arduino/examples/01.Basics/BareMinimum/BareMinimum.ino" "MiniCore-master:avr:8:BOD=2v7,LTO=Os,clock=16MHz_external" "false" "all" |
| 78 | + |
| 79 | + |
| 80 | +after_script: |
| 81 | + # Determine user name and repository name from TRAVIS_REPO_SLUG so the configuration will automatically adjust to forks |
| 82 | + - USER_NAME="$(echo "$TRAVIS_REPO_SLUG" | cut -d'/' -f 1)" |
| 83 | + - REPOSITORY_NAME="$(echo "$TRAVIS_REPO_SLUG" | cut -d'/' -f 2)" |
| 84 | + # Commit a report of the job results to a folder named with the build number in the MegaCore branch of the Travis-build-outputs repository |
| 85 | + - publish_report_to_repository "$REPORT_GITHUB_TOKEN" "https://github.com/${USER_NAME}/CI-reports.git" "$REPOSITORY_NAME" "build_$(printf "%05d\n" "${TRAVIS_BUILD_NUMBER}")" "false" |
| 86 | + |
| 87 | + # Print a tab separated report of all sketch verification results to the log |
| 88 | + - display_report |
| 89 | + |
| 90 | + |
| 91 | +notifications: |
| 92 | + email: |
| 93 | + on_success: never |
| 94 | + on_failure: always |
0 commit comments