Skip to content

Conversation

@huyng
Copy link
Contributor

@huyng huyng commented Jul 11, 2014

Hey guys, I'm Huy from the flickr-vision team. This PR turns on a continuous build system for this project. All the builds will occur within fresh VMs hosted by the folks at travis-ci.org

The main highlight of this PR is the addition of the .travis.yml file which configures how this project should be built and tested. It will first install all the required dependencies for this project within an Ubuntu 12.04 container. Then it will run make && make test .

It does not yet run make runtest however since the current setup requires a machine with a GPU for the tests to run correctly. I see that there's already a PR out for setting up CPU only tests: #561.

When that PR gets merged, a good sanity check would be to uncomment the make runtest line to verify that all the tests pass in travis-ci.

Other notes about the build workflow

The builds will run every time there is an update to the master or dev branches. When a build is finished, travis-ci.org will send a notification via email and via irc chat to the #caffe channel on freenode.

Here's a recent build from my own forked repo: https://travis-ci.org/huyng/caffe/jobs/29659970

If it looks good for merging, there are a few items we'll need to change so that the main BLVC/caffe repo has all the correct permissions and settings with travis-ci.org:

  • add appropriate email recipients
  • setup travis-ci account for BLVC and associate caffe
  • change README so that it points to the correct build status image

@longjon
Copy link
Contributor

longjon commented Jul 11, 2014

Awesome, glad to see this in motion, and I hope we can get this in place soon.

Currently it looks like this needs a rebase (changes to README.md). Also, it would be nice if you could clean up the history by squashing the commits (a single commit should be fine here).

It would also be nice to run make lint and make warn to check cleanliness.

Finally, I'm not sure why the changes to Makefile.config.example were necessary - did the defaults not build for you using atlas?

@kloudkl
Copy link
Contributor

kloudkl commented Jul 11, 2014

As a temporary workaround, you can run the tests that only require CPU with build/test/test_all.testbin --gtest_filter="*CPU*".

@kloudkl
Copy link
Contributor

kloudkl commented Jul 11, 2014

TODO: add "CPU" or "GPU" to the names of all the test cases depending on whether they run on the CPU or the GPU.

@shelhamer
Copy link
Member

Excellent! I'll be so happy to have this at last.

While continuous integration for master and dev are good safeguards, our
real need is to have this hooked into PRs. Travis-CI can be configured to
build on pushes to PRs, right?

Could you add PR testing to this PR or plan it for a follow-up?

Thanks for this!

Le vendredi 11 juillet 2014, huyng notifications@github.com a écrit :

Hey guys, I'm Huy from the flickr-vision team. This PR turns on a
continuous build system for this project. All the builds will occur within
fresh VMs hosted by the folks at travis-ci.org

The main highlight of this PR is the addition of the .travis.yml file
which configures how this project should be built and tested. It will first
install all the required dependencies for this project within an Ubuntu
12.04 container. Then it will run make && make test .

It does not yet run make runtest however since the current setup requires
a machine with a GPU for the tests to run correctly. I see that there's
already a PR out for setting up CPU only tests: #561
#561.

When that PR gets merged, a good sanity check would be to uncomment the make
runtest line to verify that all the tests pass in travis-ci.
Other notes about the build workflow

The builds will run every time there is an update to the master or dev
branches. When a build is finished, travis-ci.org will send a
notification via email and via irc chat to the #caffe channel on freenode.

Here's a recent build from my own forked repo:
https://travis-ci.org/huyng/caffe/jobs/29659970

If it looks good for merging, there are a few items we'll need to change
so that the main BLVC/caffe repo has all the correct permissions and
settings with travis-ci.org:

  • add appropriate email recipients
  • setup travis-ci account for BLVC and associate caffe
  • change README so that it points to the correct build status image

You can merge this Pull Request by running

git pull https://github.com/huyng/caffe travisci

Or view, comment on, or merge it at:

#667
Commit Summary

  • added this branch for testing purposes
  • updated recipients
  • added before_script step
  • added sudo to all installation commands
  • added build status image
  • forgo install python deps
  • cd to glog dir
  • leave glog dir
  • leave glog dir
  • added protobuf compiler
  • update cuda location
  • added cuda include
  • added open blas
  • change back to atlas
  • change back to atlas, added include dirs
  • change back to atlas, added include dirs
  • should be working build
  • should be working build
  • should be working build
  • point to the libfolder containing libcudart
  • added ld lib path
  • updated ldlibrary path
  • update so that we only run the build, forego the test until PR CPU-only build #561
    gets merged

File Changes

Patch Links:


Reply to this email directly or view it on GitHub
#667.

Evan Shelhamer

@huyng
Copy link
Contributor Author

huyng commented Jul 12, 2014

Great feedback. I'll have time on Monday to look into these issues

On Friday, July 11, 2014, Evan Shelhamer notifications@github.com wrote:

Excellent! I'll be so happy to have this at last.

While continuous integration for master and dev are good safeguards, our
real need is to have this hooked into PRs. Travis-CI can be configured to
build on pushes to PRs, right?

Could you add PR testing to this PR or plan it for a follow-up?

Thanks for this!

Le vendredi 11 juillet 2014, huyng <notifications@github.com
javascript:_e(%7B%7D,'cvml','notifications@github.com');> a écrit :

Hey guys, I'm Huy from the flickr-vision team. This PR turns on a
continuous build system for this project. All the builds will occur
within
fresh VMs hosted by the folks at travis-ci.org

The main highlight of this PR is the addition of the .travis.yml file
which configures how this project should be built and tested. It will
first
install all the required dependencies for this project within an Ubuntu
12.04 container. Then it will run make && make test .

It does not yet run make runtest however since the current setup
requires
a machine with a GPU for the tests to run correctly. I see that there's
already a PR out for setting up CPU only tests: #561
#561.

When that PR gets merged, a good sanity check would be to uncomment the
make
runtest line to verify that all the tests pass in travis-ci.
Other notes about the build workflow

The builds will run every time there is an update to the master or dev
branches. When a build is finished, travis-ci.org will send a
notification via email and via irc chat to the #caffe channel on
freenode.

Here's a recent build from my own forked repo:
https://travis-ci.org/huyng/caffe/jobs/29659970

If it looks good for merging, there are a few items we'll need to change
so that the main BLVC/caffe repo has all the correct permissions and
settings with travis-ci.org:

  • add appropriate email recipients
  • setup travis-ci account for BLVC and associate caffe
  • change README so that it points to the correct build status image

You can merge this Pull Request by running

git pull https://github.com/huyng/caffe travisci

Or view, comment on, or merge it at:

#667
Commit Summary

  • added this branch for testing purposes
  • updated recipients
  • added before_script step
  • added sudo to all installation commands
  • added build status image
  • forgo install python deps
  • cd to glog dir
  • leave glog dir
  • leave glog dir
  • added protobuf compiler
  • update cuda location
  • added cuda include
  • added open blas
  • change back to atlas
  • change back to atlas, added include dirs
  • change back to atlas, added include dirs
  • should be working build
  • should be working build
  • should be working build
  • point to the libfolder containing libcudart
  • added ld lib path
  • updated ldlibrary path
  • update so that we only run the build, forego the test until PR CPU-only build #561
    gets merged

File Changes

Patch Links:


Reply to this email directly or view it on GitHub
#667.

Evan Shelhamer


Reply to this email directly or view it on GitHub
#667 (comment).

@jeffdonahue jeffdonahue mentioned this pull request Jul 13, 2014
@shelhamer
Copy link
Member

Continued for integration in #681.

@huyng note @jeffdonahue's completion of your nice work in #681. Your commits are included there. Closing for merge of #681, tailored to Caffe and CPU-only testing.

Thanks again for spearheading this!

@shelhamer shelhamer closed this Jul 14, 2014
@shelhamer
Copy link
Member

PR integration for checking build, test, warnings, and lint has been merged. Since this is mostly to check PRs to help review, the build status isn't currently in the README or on the site.

The next pass on the home page could add latest release (master + latest commit (dev) and build status badges.

@huyng
Copy link
Contributor Author

huyng commented Jul 14, 2014

Awesome, thanks @jeffdonahue & @shelhamer . Hope this makes managing the repo a little easier.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants