[CCPPETMR/SIRF-SuperBuild] Travis, docker, osx improvements (#86)

2 views
Skip to first unread message

Casper da Costa-Luis

unread,
Feb 8, 2018, 12:48:42 PM2/8/18
to CCPPETMR/SIRF-SuperBuild, Subscribed
  • make travis build docker images
    • auto push to registry (hub.docker.com/r/ccppetmr/sirf:latest)
      • cache docker layers (save and load on travis to avoid excessive rebuilds and registry up/downloads
  • fix errors in if blocks

You can view, comment on, or merge this pull request online at:

  https://github.com/CCPPETMR/SIRF-SuperBuild/pull/86

Commit Summary

  • docker: ccache, DEVEL_BUILD=ON
  • docker on travis
  • actually build docker image on travis
  • docker ccache on travis
  • docker tests on travis!
  • fix travis docker ccache
  • fix docker ccache usage
  • safer exit on failure in compound statements

File Changes

Patch Links:


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Casper da Costa-Luis

unread,
Feb 8, 2018, 12:54:51 PM2/8/18
to CCPPETMR/SIRF-SuperBuild, Push

@casperdcl pushed 1 commit.


You are receiving this because you are subscribed to this thread.

View it on GitHub or mute the thread.

Casper da Costa-Luis

unread,
Feb 8, 2018, 2:43:58 PM2/8/18
to CCPPETMR/SIRF-SuperBuild, Push

@casperdcl pushed 1 commit.


You are receiving this because you are subscribed to this thread.

View it on GitHub or mute the thread.

Casper da Costa-Luis

unread,
Feb 8, 2018, 3:15:55 PM2/8/18
to CCPPETMR/SIRF-SuperBuild, Subscribed

@rijobro hopefully you're fine with the removal of brew tap homebrew/science

Kris Thielemans

unread,
Feb 8, 2018, 4:31:01 PM2/8/18
to CCPPETMR/SIRF-SuperBuild, Subscribed

@KrisThielemans commented on this pull request.

this is a bit beyond me I'm afraid. I guess I'm happy if travis is...


In docker/Dockerfile:

>  COPY user_sirf-ubuntu.sh .
 RUN EXTRA_BUILD_FLAGS="-DCMAKE_BUILD_TYPE=Release -DUSE_SYSTEM_Boost=ON \
-  -DUSE_SYSTEM_SWIG=ON -DUSE_SYSTEM_HDF5=ON -DUSE_SYSTEM_FFTW3=ON \
-  -DUSE_SYSTEM_Armadillo=ON" \
+  -DDEVEL_BUILD=ON -DUSE_SYSTEM_Armadillo=ON -DUSE_SYSTEM_FFTW3=ON \

seems to say our docker images are built with most recent masters. Good idea?

Casper da Costa-Luis

unread,
Feb 8, 2018, 5:29:44 PM2/8/18
to CCPPETMR/SIRF-SuperBuild, Subscribed

@casperdcl commented on this pull request.


In docker/Dockerfile:

>  COPY user_sirf-ubuntu.sh .
 RUN EXTRA_BUILD_FLAGS="-DCMAKE_BUILD_TYPE=Release -DUSE_SYSTEM_Boost=ON \
-  -DUSE_SYSTEM_SWIG=ON -DUSE_SYSTEM_HDF5=ON -DUSE_SYSTEM_FFTW3=ON \
-  -DUSE_SYSTEM_Armadillo=ON" \
+  -DDEVEL_BUILD=ON -DUSE_SYSTEM_Armadillo=ON -DUSE_SYSTEM_FFTW3=ON \

yes:

  1. all travis builds will trigger a docker build
    a) the docker build will, however, only use master branches (DEVEL_BUILD)
    b) the built image will be tagged latest and pushed to hub.docker.com only if tests pass in the container

arguments for (1):

  • though the source code may not change, external dependencies (ubuntu:16.04, apt-get packages, etc) may have changed so better to rebuild
  • everything's cached (both docker layers and ccache within docker) so this is quick and incremental - it's actually quicker than mac osx builds!

arguments for (1a):

  • master should always be stable

arguments for (1b):

  • one less thing to do when releasing (don't have to build or have docker locally)
  • when we want to make a new release, we simply locally tag the current latest image as also being v1.0.0 etc so that it never gets overwritten by future builds
    • might want to automate this in .travis.yml

arguments against anything:

  • ?

Casper da Costa-Luis

unread,
Feb 8, 2018, 5:36:37 PM2/8/18
to CCPPETMR/SIRF-SuperBuild, Subscribed

@casperdcl commented on this pull request.


In docker/Dockerfile:

>  COPY user_sirf-ubuntu.sh .
 RUN EXTRA_BUILD_FLAGS="-DCMAKE_BUILD_TYPE=Release -DUSE_SYSTEM_Boost=ON \
-  -DUSE_SYSTEM_SWIG=ON -DUSE_SYSTEM_HDF5=ON -DUSE_SYSTEM_FFTW3=ON \
-  -DUSE_SYSTEM_Armadillo=ON" \
+  -DDEVEL_BUILD=ON -DUSE_SYSTEM_Armadillo=ON -DUSE_SYSTEM_FFTW3=ON \

I also don't intend to sync the docker-specific bits of this with the .travis.yml in SIRF since that would seem excessive in terms of number of updates to hub.docker.com/r/cccppetmr/sirf ... And the important thing is releases, ie. version_config.cmake, which is not in SIRF

Richard Brown

unread,
Feb 9, 2018, 4:47:07 AM2/9/18
to CCPPETMR/SIRF-SuperBuild, Subscribed

@casperdcl ditto re removal of brew tap homebrew/science - if Travis is happy, I'm happy.

Kris Thielemans

unread,
Feb 9, 2018, 7:10:49 PM2/9/18
to CCPPETMR/SIRF-SuperBuild, Subscribed

@KrisThielemans commented on this pull request.


In docker/Dockerfile:

>  COPY user_sirf-ubuntu.sh .
 RUN EXTRA_BUILD_FLAGS="-DCMAKE_BUILD_TYPE=Release -DUSE_SYSTEM_Boost=ON \
-  -DUSE_SYSTEM_SWIG=ON -DUSE_SYSTEM_HDF5=ON -DUSE_SYSTEM_FFTW3=ON \
-  -DUSE_SYSTEM_Armadillo=ON" \
+  -DDEVEL_BUILD=ON -DUSE_SYSTEM_Armadillo=ON -DUSE_SYSTEM_FFTW3=ON \

not quite sure about this really. It means th edocker image will always be made with the very latest Gadgetron etc. We have no clue what they are doing, so it might easily break something. I would guess that we could work with SIRF/master only. Of course, that might require a more recent Gadgetron/STIR than what's currently the default in version_config.cmake. hmmm.

Casper da Costa-Luis

unread,
Feb 10, 2018, 7:20:21 AM2/10/18
to CCPPETMR/SIRF-SuperBuild, Push

@casperdcl pushed 2 commits.

  • ef9f5a7 separate devel build
  • 82a01a9 separate docker latest/devel builds in travis matrix


You are receiving this because you are subscribed to this thread.

View it on GitHub or mute the thread.

Casper da Costa-Luis

unread,
Feb 10, 2018, 7:45:53 AM2/10/18
to CCPPETMR/SIRF-SuperBuild, Push

@casperdcl pushed 1 commit.


You are receiving this because you are subscribed to this thread.

View it on GitHub or mute the thread.

Casper da Costa-Luis

unread,
Feb 10, 2018, 8:37:31 AM2/10/18
to CCPPETMR/SIRF-SuperBuild, Push

@casperdcl pushed 1 commit.

  • e0d571e docker ccppetmr/base:latest -> ccppetmr/sirf:core


You are receiving this because you are subscribed to this thread.

View it on GitHub or mute the thread.

Casper da Costa-Luis

unread,
Feb 10, 2018, 9:34:34 AM2/10/18
to CCPPETMR/SIRF-SuperBuild, Subscribed

@casperdcl commented on this pull request.


In docker/Dockerfile:

>  COPY user_sirf-ubuntu.sh .
 RUN EXTRA_BUILD_FLAGS="-DCMAKE_BUILD_TYPE=Release -DUSE_SYSTEM_Boost=ON \
-  -DUSE_SYSTEM_SWIG=ON -DUSE_SYSTEM_HDF5=ON -DUSE_SYSTEM_FFTW3=ON \
-  -DUSE_SYSTEM_Armadillo=ON" \
+  -DDEVEL_BUILD=ON -DUSE_SYSTEM_Armadillo=ON -DUSE_SYSTEM_FFTW3=ON \

ok, now changed. docker/ccppetmr/sirf:latest doesn't have DEVEL_BUILD, while docker/ccppetmr/sirf:devel does

Casper da Costa-Luis

unread,
Feb 11, 2018, 9:16:49 AM2/11/18
to CCPPETMR/SIRF-SuperBuild, Push

@casperdcl pushed 1 commit.

  • 5d5a190 auto travis release docker


You are receiving this because you are subscribed to this thread.

View it on GitHub or mute the thread.

Casper da Costa-Luis

unread,
Feb 13, 2018, 10:57:01 PM2/13/18
to CCPPETMR/SIRF-SuperBuild, Push

@casperdcl pushed 2 commits.

  • f8d0c0a auto UID/GID, gosu and user entrypoint
  • 81b0eb0 tidy permissions and login info


You are receiving this because you are subscribed to this thread.

View it on GitHub or mute the thread.

Casper da Costa-Luis

unread,
Feb 13, 2018, 11:45:15 PM2/13/18
to CCPPETMR/SIRF-SuperBuild, Subscribed

Merged #86.

Reply all
Reply to author
Forward
0 new messages