-
Notifications
You must be signed in to change notification settings - Fork 39
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
rework of moveit_ci testing framework for Travis #45
Conversation
Commands were not actually executed.
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.
This is a really impressive contribution!
Of course its a bit large for a single PR and I did make some requests, but overall thank you @rhaschke !
#******************************************************************** | ||
# Software License Agreement (BSD License) | ||
# | ||
# Copyright (c) 2016, University of Colorado, Boulder | ||
# Copyright (c) 2018, Bielefeld University |
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.
this is odd to me you're changing the copyright but i guess you've changed this file enough for it to be a different file. i wouldn't make this a habit but i don't really care here.
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.
Yes, this file is more or less new. The copyright is not on the file (name), but it's content, right? 😉
Note, that you're still mentioned as a co-author as you developed some original ideas for it.
By the way, you originally copied most of those functions from travis-build
without mentioning it. 😉
Thanks for bringing up copyright stuff to my attention. I added the original MIT license from travis-build
to the file travis_functions.sh
.
I have introduced an own, internal timeout to ensure that Travis can write the cache.
This is a left-over from debugging. Will remove it. |
8e4c022
to
ed0e12a
Compare
Closing again for more debugging... |
I'd prefer you not keep closing PRs and re-opening them, its confusing. The "WIP" is enough signaling, or just leave a comment. I believe @RoboticsYY is interested in helping out with the clang-tidy effort, and this is related. |
Sorry. I want to avoid double load on Travis (building both, the repository branch and the PR). |
I'm making some efforts to the clang-tidy issue according to the roadmap proposed by @BryceStevenWilley in #28. Looks like @rhaschke has already put clang-tidy to the travis checks. My current plan is to apply clang-tidy fix to the entire codebase. |
76231e9
to
8e56cfe
Compare
@RoboticsYY Thanks for your efforts. Hopefully your PR will not conflict too much with existing PRs for MoveIt. Please split your PR into individual commits for each tidy step, much like @BryceStevenWilley did for moveit_core (moveit/moveit#880). Particularly, also split up automatic fixups and manual corrections to them. This will facilitate the review process. |
8e56cfe
to
c803c30
Compare
@rhaschke Thanks for reminding me of that. I have noticed @BryceStevenWilley 's way of splitting the commits. I also think it's a good practice to follow for the clang-tidy PR. |
14c4d50
to
2ec63ab
Compare
- more modularization - travis_run_simple: no folding - travis_run_true: folding, timing, accept failures - travis_run: folding, timing, not accepting failures - travis_run_wait: +timeout - travis_wait() to wait for a background process to finish - support hierarchical folds (with custom fold names and titles) and use them to cleanup the Travis ouput - limit travis_run_wait's timeout to estimated remaining Travis' build time When we hit Travis' hard timeout, caches are not saved by Travis anymore. Hence we need to bail out before Travis to get our caches saved (and thus have a chance on the next build to meet the timeout deadline). To this end, I estimate the remaining build job time and compare against the configurable variable MOVEIT_CI_TRAVIS_TIMEOUT, which defaults to 45min. Although by default open-source projects at http://travis-ci.org have a timeout of 50 mins, a have put some safety-margin in, because booting Travis' virtual machine, loading caches, etc. already consumes time that I cannot measure. - filter() and filter-out() utility functions - extensive unit tests for all these utility functions - renamed misleading variable CI_PARENT_DIR to MOVEIT_CI_DIR
This allows to perform clang-* checks (which only operate on the to-be-tested repo) during Travis testing of the moveit_ci repository (which itself doesn't have source code)
83e339d
to
1b0d9b4
Compare
be044bc
to
d2064c0
Compare
This is hardly possible. The philosophy of One option to achieve the distinction between |
So far, we had to blacklist meta-packages as well, because they pulled in real packages.
run basic integration tests with integration_tests.sh script
5e73209
to
5fe6dac
Compare
0a78901
to
87bb496
Compare
87bb496
to
862e813
Compare
@davetcoleman I fixed some further smaller issues. Can we merge this and then enable, the new warnings checker for MoveIt, now that MoveIt compiles without warnings? |
862e813
to
356a43d
Compare
Co-Authored-By: rhaschke <rhaschke@users.noreply.github.com>
63dc379
to
a48db4e
Compare
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.
Please just fix the licenses
- Clean Travis log files - looks similiar to a regular .travis.yml file | ||
- Runs tests for the current repo, e.g. if testing moveit\_core only runs tests for moveit\_core | ||
- Uses [pre-build Docker containers](https://hub.docker.com/r/moveit/moveit) for all ROS distros to save setup time | ||
- Simple Travis configuration |
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.
Yes thank you for these efforts, I'm trying to do reviews quickly because I'm excited about these improvements!
# with the distribution. | ||
# * Neither the name of Bielefeld University nor the names of its | ||
# contributors may be used to endorse or promote products derived | ||
# from this software without specific prior written permission. |
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.
Here its ok not to say 3-clause because the full license makes it obvious its the 3-clause
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.
Just noticed you already fixed the license stuff
- sanity check for empty workspace - some cleanup
04caa36
to
7d452d0
Compare
Being originally started in #44 from fixing several basic issues in moveit_ci scripts to make #42 and #43 work, I ended up with a thorough rework of the basic moveit_ci scripts in
util.sh
based on most recent scripts at travis-build.Issues resolved:
testing
should be printed, but it's not. I fixed this, byevaluating
commands passed totravis_run_*
.travis_run_wait
, i.e. timeout and.
generation.Improvements:
When we hit Travis' hard timeout, caches are not saved by Travis anymore. Hence we need to bail out
before
Travis to get our caches saved (and thus have a chance on the next build to meet the timeout deadline). To this end, I estimate the remaining build job time and compare against the configurable variableMOVEIT_CI_TRAVIS_TIMEOUT
, which defaults to 45min. Although by default open-source projects at http://travis-ci.org have a timeout of 50 mins, a have put some safety-margin in, because booting Travis' virtual machine, loading caches, etc. already consumes time that I cannot measure.filter()
andfilter-out()
utility functionsThis whole PR is coming with a whole new bash-based unittest suite to validate correctness of all bash functions.
All smaller commits contain independent and self-explanatory changes, which is why this PR should be merge-committed as discussed in moveit/moveit_tutorials#280 (comment) ;-)