HaxeFoundation / hxcpp

Runtime files for c++ backend for haxe
Other
300 stars 193 forks source link

HXCPP_SILENT vs Travis #709

Open Gama11 opened 6 years ago

Gama11 commented 6 years ago

HXCPP_SILENT is a great way to reduce output verbosity in CI environments such as Travis (where you can actually only view the log as raw text after it reaches a certain length). However, it doesn't play nice with Travis specifically because it terminates builds after 10 minutes of not receiving any output:

https://travis-ci.org/Gama11/flixel/jobs/384326889#L866

It's possible to work around this, but it's not pretty (from https://github.com/travis-ci/travis-ci/issues/4190#issuecomment-353342526):

script:
  - while sleep 540; do echo "=====[ $SECONDS seconds still running ]====="; done &
  - haxe --cwd tests --run RunTravis $TARGET $OPENFL
  - kill %1

There's several solutions I could think of:

Perhaps a combination if option 2 + 3 would be best?

hughsando commented 6 years ago

It could be quite nice to print out a progress, like: Compiling 30/420... Usually you would use a carriage-return to keep this overlapping on the same line - but I guess the display in travis would mess this up, so maybe a new-line here. We could then add a "show every" - defaults to 1 - that prints this instead of the filename. Travis could then set this to 10 - which would reduce output by a factor of 10. This might also be nice for human developers.

On Sun, May 27, 2018 at 6:45 PM, Jens Fischer notifications@github.com wrote:

HXCPP_SILENT is a great way to reduce output verbosity in CI environments such as Travis (where you can actually only view the log as raw text after it reaches a certain length). However, it doesn't play nice with Travis specifically because it terminates builds after 10 minutes of not receiving any output:

https://travis-ci.org/Gama11/flixel/jobs/384326889#L866

It's possible to work around this, but it's not pretty (from travis-ci/travis-ci#4190 (comment) https://github.com/travis-ci/travis-ci/issues/4190#issuecomment-353342526 ):

script:

  • while sleep 540; do echo "=====[ $SECONDS seconds still running ]====="; done &
  • haxe --cwd tests --run RunTravis $TARGET $OPENFL
  • kill %1

There's several solutions I could think of:

  • just let the HXCPP build tool always print something after every n minutes
  • do that, but only when it detects it's running on Travis (check if the TRAVIS env var is defined)
  • add some HXCPP_KEEP_ALIVE=-define for enabling the print behavior

Perhaps a combination if option 2 + 3 would be best?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/HaxeFoundation/hxcpp/issues/709, or mute the thread https://github.com/notifications/unsubscribe-auth/ABlp1scWkYU27rkrnajF_uBvsGtjlsraks5t2oPPgaJpZM4UPOvg .

thomasuster commented 6 years ago

+1, playing a little nicer with travis would be great