-
-
Notifications
You must be signed in to change notification settings - Fork 782
Pattern for running particular Travis tasks as part of a nightly build #4760
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Make sure we only generate coverage for runners and orquesta integration tests when ENABLE_COVERAGE environment variable is set to "yes". Coverage adds a lot of overhead so this should speed up PR builds.
invocation basis. Update tests which have a race / rely on timing to use longer wait time to avoid failure.
nightly build. This should substantially speed up PR builds.
…ts_to_nighly_build
part of the nightly builds now.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good stuff 👍
As we're moving some of the tasks to nightly builds, let's please make sure that Slack notifications are configured with https://docs.travis-ci.com/user/notifications/ to #stackstorm.
Quick example: https://github.com/StackStorm/ansible-st2/blob/master/.travis.yml#L34-L39
Otherwise there is a high chance that Travis Nightly build will be ignored.
are specified, but not all of them have corresponding nightly tasks. For example: TASK="foo1 foo2 foo3" and only "foo2-nightly" task exists. In this case, only "foo2-nightly" would run and other would be ignored.
|
On a related note - I really dislike our current Makefile. It's way too convoluted and hard to reason about and understand (especially the coverage targets). Eventually, I propose moving all the test targets (unit, integration tests, pack tests) to tox, similar as we do for Python 3 tasks. You can check It does require a bit more work aka specifying a list of components manually, but I think it's still much better than current convoluted and confusing Makefile. |
|
@armab I agree, I will enable it. It's also worth noting that you can't only enable notifications for cron / nightly builds, so it will be enabled for failures for all non-PR builds. |
Also enable it so we can test it's working.
|
@armab Added Slack notification for non-PR builds (master, nightly crob builds) and verified it's working. @m4dcoder Per slack - now that we have optimized Orquesta integration tests and made them substantially faster, do you think we still need to move them to a nightly build? Perhaps, just the concurrent load one which seems to take ~2 minutes. |
| # We want to be notified when a master or nightly build fails | ||
| notifications: | ||
| # Post build failures to '#stackstorm' channel in 'stackstorm' Slack | ||
| slack: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
arm4b
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM 👍
@Kami There are few more that can be moved into nightly build. The tests need some reorganizing though. We will certain do this but unless the recent improvements aren't sufficient, I probably won't work on it until I have a little more space on my plate. |
|
@m4dcoder Yeah, I didn't really mean you need to work on it. I planned to do some of that re-organization in the near future. For now, I will merge this PR as is and we can tackle moving more "slow" tests into a nightly build as part of a separate PR and larger reorganization of tests. |
This pull request updates travis config and introduces a new pattern for running particular make targets / checks as part of a nightly build.
For each of the existing tasks which runs as part of a Travis build such as
ci-integration,ci-checks, etc. we can now have additional Make target called<task>-nightly(e.g.ci-checks-nightly) which will only run as part of a nightly build.This will allow us to offload some slow tests (e.g. Mistral unit tests, etc.) to a nightly build and reduce some of the overhead and speed things up for the PR (and master merge) builds.
As part of this PR, I will also move mistral runner tests to the nightly build (Mistral will eventually be deprecated) and update existing st2client checks which run as part of a nightly build to utilize this new consistent pattern for nightly builds.