-
Notifications
You must be signed in to change notification settings - Fork 129
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
build directly to install space #150
Conversation
9689285
to
fd117bc
Compare
Since the mockup tests are not considered (fixed in #137), I have prepared a test brach in In addtion there is a |
# Test if the unit tests in the packages in the downstream repo pass. | ||
if [ "$BUILDER" == catkin ]; then | ||
for pkg in $PKGS_DOWNSTREAM; do | ||
if [ ! -d "$CATKIN_WORKSPACE/install/share/$pkg" ]; then continue; fi # skip meta-packages |
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.
Is this comment correct? Isn't this line skipping those specified in $PKGS_DOWNSTREAM
(which are already tested in catkin_run_tests
section)?
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.
No, it just skips packages without a directory in install/share
. AFAIK this is only the case for meta-packages.
Seems like this works great! I'm not sure if I understand correctly, but looking at https://travis-ci.org/ipa320/cob_robots/jobs/213121300, seems like in If so, is keeping those 2 sections still worthy? |
I don't know why, but the We don't install *.test for the cob packages by default, so this block is a no-op.
|
We might consider skipping |
2c6a3cc
to
3fdafdb
Compare
I think that's the way we might want to do as long as tests get to run in |
Let's create another issue/PR for this and not mix it. |
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.
#54 (comment) helped me a lot to understand what this PR does.
The current behaviour is really odd:
- build to build/devel space
- run build test
- clean
- build to build/devel space and install to install space
- run rostest on install space
So in step 4 we are rebuilding everything from step 1, which doubles the time the build takes.
Ok, with this PR we're skipping the build in 4, is that correct?
What I was afraid was to skipping step 1 and 2 (and 3 obvisously), which could cause errors on the repos where no install
rules are not defined. But looks like I was wrong and worrying about nothing.
Looking at the example ipa320/cob_robots, it still goes through all the steps with the only change is skipping the rebuild I think.
Merging. Thanks!
@@ -103,6 +109,8 @@ if [ "${USE_MOCKUP// }" != "" ]; then | |||
ln -s "$TARGET_REPO_PATH/$USE_MOCKUP" $CATKIN_WORKSPACE/src | |||
fi | |||
|
|||
catkin config --install |
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.
The current behaviour is really odd:
- build to build/devel space
- run build test
- clean
- build to build/devel space and install to install space
- run rostest on install space
So in step 4 we are rebuilding everything from step 1, which doubles the time the build takes.
Ok, with this PR we're skipping the build in 4, is that correct?
What I was afraid was to skipping step 1 and 2 (and 3 obvisously), which could cause errors on the repos where no install rules are not defined. But looks like I was wrong and worrying about nothing.
I overlooked adding this line. With this line, users have no way to avoid testing against install
space. E.g. ros-industrial-consortium/descartes#198 (comment) where the tests depend on the files that are intentionally not deployed.
This PR picks some install space related commits from #137
The current master (still) builds all packages, cleans and rebuild to install space (unless `NOT_TEST_INSTALL=true).
These patches avoid rebuilding and fix the retry behavior.