diff --git a/.travis.yml b/.travis.yml index f79d0adc6b39ab3678764465108c9624807edb04..a58b8a6b0eea91ce46b05278d8e86a7fd6ffe9cc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,4 @@ -# Created with package:mono_repo v2.0.0 +# Created with package:mono_repo v2.1.0 language: dart # Custom configuration @@ -7,6 +7,8 @@ addons: chrome: stable env: global: FORCE_TEST_EXIT=true +after_failure: + - tool/report_failure.sh jobs: include: @@ -20,6 +22,11 @@ jobs: dart: "2.2.0" env: PKGS="pkgs/test" script: ./tool/travis.sh dartanalyzer_1 + - stage: analyze_and_format + name: "SDK: 2.1.0; PKGS: pkgs/test_api, pkgs/test_core; TASKS: `dartanalyzer --fatal-warnings .`" + dart: "2.1.0" + env: PKGS="pkgs/test_api pkgs/test_core" + script: ./tool/travis.sh dartanalyzer_1 - stage: unit_test name: "SDK: dev; PKG: pkgs/test; TASKS: `xvfb-run -s \"-screen 0 1024x768x24\" pub run test --preset travis --total-shards 5 --shard-index 0`" dart: dev @@ -45,11 +52,6 @@ jobs: dart: dev env: PKGS="pkgs/test" script: ./tool/travis.sh command_4 - - stage: analyze_and_format - name: "SDK: 2.1.0; PKGS: pkgs/test_api, pkgs/test_core; TASKS: `dartanalyzer --fatal-warnings .`" - dart: "2.1.0" - env: PKGS="pkgs/test_api pkgs/test_core" - script: ./tool/travis.sh dartanalyzer_1 - stage: unit_test name: "SDK: dev; PKG: pkgs/test_api; TASKS: `pub run test --preset travis`" dart: dev diff --git a/mono_repo.yaml b/mono_repo.yaml index 3d70b3ea946377ddf30633f2f653f7a4a172685c..77c90a37dafea849eb1f202c7f59eb4898fab17c 100644 --- a/mono_repo.yaml +++ b/mono_repo.yaml @@ -6,5 +6,8 @@ travis: env: global: FORCE_TEST_EXIT=true + after_failure: + - tool/report_failure.sh + merge_stages: - analyze_and_format diff --git a/tool/report_failure.sh b/tool/report_failure.sh new file mode 100755 index 0000000000000000000000000000000000000000..ed24cf260054d93f53c035e820510aa81730ea06 --- /dev/null +++ b/tool/report_failure.sh @@ -0,0 +1,6 @@ +TRAVIS_BUILDS_URI="https://travis-ci.org/dart-lang/build/builds" +if [ "$TRAVIS_EVENT_TYPE" != "pull_request" -a "$TRAVIS_ALLOW_FAILURE" != "true" ]; then + curl -H "Content-Type: application/json" -X POST -d \ + "{'text':'Build failed! ${TRAVIS_BUILDS_URI}/${TRAVIS_BUILD_ID}'}" \ + "${CHAT_HOOK_URI}" +fi diff --git a/tool/travis.sh b/tool/travis.sh index 34e74d7708b449361779cb9665e3e25d8d9a08a2..099601c25496171739419c2bed2c3e74a7067895 100755 --- a/tool/travis.sh +++ b/tool/travis.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Created with package:mono_repo v2.0.0 +# Created with package:mono_repo v2.1.0 if [[ -z ${PKGS} ]]; then echo -e '\033[31mPKGS environment variable must be set!\033[0m' @@ -19,53 +19,47 @@ for PKG in ${PKGS}; do pub upgrade --no-precompile || exit $? for TASK in "$@"; do + echo + echo -e "\033[1mPKG: ${PKG}; TASK: ${TASK}\033[22m" case ${TASK} in - command_0) echo - echo -e '\033[1mTASK: command_0\033[22m' - echo -e 'xvfb-run -s "-screen 0 1024x768x24" pub run test --preset travis --total-shards 5 --shard-index 0' + command_0) + echo 'xvfb-run -s "-screen 0 1024x768x24" pub run test --preset travis --total-shards 5 --shard-index 0' xvfb-run -s "-screen 0 1024x768x24" pub run test --preset travis --total-shards 5 --shard-index 0 || EXIT_CODE=$? ;; - command_1) echo - echo -e '\033[1mTASK: command_1\033[22m' - echo -e 'xvfb-run -s "-screen 0 1024x768x24" pub run test --preset travis --total-shards 5 --shard-index 1' + command_1) + echo 'xvfb-run -s "-screen 0 1024x768x24" pub run test --preset travis --total-shards 5 --shard-index 1' xvfb-run -s "-screen 0 1024x768x24" pub run test --preset travis --total-shards 5 --shard-index 1 || EXIT_CODE=$? ;; - command_2) echo - echo -e '\033[1mTASK: command_2\033[22m' - echo -e 'xvfb-run -s "-screen 0 1024x768x24" pub run test --preset travis --total-shards 5 --shard-index 2' + command_2) + echo 'xvfb-run -s "-screen 0 1024x768x24" pub run test --preset travis --total-shards 5 --shard-index 2' xvfb-run -s "-screen 0 1024x768x24" pub run test --preset travis --total-shards 5 --shard-index 2 || EXIT_CODE=$? ;; - command_3) echo - echo -e '\033[1mTASK: command_3\033[22m' - echo -e 'xvfb-run -s "-screen 0 1024x768x24" pub run test --preset travis --total-shards 5 --shard-index 3' + command_3) + echo 'xvfb-run -s "-screen 0 1024x768x24" pub run test --preset travis --total-shards 5 --shard-index 3' xvfb-run -s "-screen 0 1024x768x24" pub run test --preset travis --total-shards 5 --shard-index 3 || EXIT_CODE=$? ;; - command_4) echo - echo -e '\033[1mTASK: command_4\033[22m' - echo -e 'xvfb-run -s "-screen 0 1024x768x24" pub run test --preset travis --total-shards 5 --shard-index 4' + command_4) + echo 'xvfb-run -s "-screen 0 1024x768x24" pub run test --preset travis --total-shards 5 --shard-index 4' xvfb-run -s "-screen 0 1024x768x24" pub run test --preset travis --total-shards 5 --shard-index 4 || EXIT_CODE=$? ;; - dartanalyzer_0) echo - echo -e '\033[1mTASK: dartanalyzer_0\033[22m' - echo -e 'dartanalyzer --fatal-infos --fatal-warnings .' + dartanalyzer_0) + echo 'dartanalyzer --fatal-infos --fatal-warnings .' dartanalyzer --fatal-infos --fatal-warnings . || EXIT_CODE=$? ;; - dartanalyzer_1) echo - echo -e '\033[1mTASK: dartanalyzer_1\033[22m' - echo -e 'dartanalyzer --fatal-warnings .' + dartanalyzer_1) + echo 'dartanalyzer --fatal-warnings .' dartanalyzer --fatal-warnings . || EXIT_CODE=$? ;; - dartfmt) echo - echo -e '\033[1mTASK: dartfmt\033[22m' - echo -e 'dartfmt -n --set-exit-if-changed .' + dartfmt) + echo 'dartfmt -n --set-exit-if-changed .' dartfmt -n --set-exit-if-changed . || EXIT_CODE=$? ;; - test) echo - echo -e '\033[1mTASK: test\033[22m' - echo -e 'pub run test --preset travis' + test) + echo 'pub run test --preset travis' pub run test --preset travis || EXIT_CODE=$? ;; - *) echo -e "\033[31mNot expecting TASK '${TASK}'. Error!\033[0m" + *) + echo -e "\033[31mNot expecting TASK '${TASK}'. Error!\033[0m" EXIT_CODE=1 ;; esac