Skip to content
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

WIP: Continuous integration of Slicer on centos (updated & rebased) #609

Open
wants to merge 8 commits into
base: master
Choose a base branch
from

Conversation

MayeulChassagnard
Copy link
Member

Update of Slicer/Slicer#607

@jcfr
Copy link
Member

jcfr commented Oct 27, 2016

After manually fetching your changes into /tmp/test/Slicer

I tweaked my small script to work for existing checkout. It is currently building.

TEST_DIR=/tmp/test
mkdir -p $TEST_DIR

cd $TEST_DIR
dir=docker-opengl-centos
[[ ! -e $dir ]] && git clone git://github.com/thewtex/docker-opengl -b centos $dir
cd $dir
make

cd $TEST_DIR
dir=SlicerDocker
[[ ! -e $dir ]] && git clone git://github.com/MayeulChassagnard/SlicerDocker -b slicer-build-with-tests-rebased $dir
cd $dir
./build.sh

cd $TEST_DIR
dir=Slicer
[[ ! -e $dir ]] && git clone git://github.com/MayeulChassagnard/Slicer -b Continuous-Integration-on-centos-2016.10.20 $dir
cd $dir
./CMake/CircleCI/build.sh
./CMake/CircleCI/run.sh

@MayeulChassagnard
Copy link
Member Author

@jcfr @thewtex What is the status now? Can we merge this to be able to know finally if the all process works or not?
During that time, I am going to try to solve the few remaining test error

@thewtex
Copy link
Member

thewtex commented Oct 28, 2016

@MayeulChassagnard The process status can be determined by the results on this PR.

There are many people in the community collaboratively developing Slicer. It is important not to merge code with known build errors or test failures so that others are not distracted or confused by them.

@MayeulChassagnard MayeulChassagnard force-pushed the Continuous-Integration-on-centos-2016.10.27-rebased branch 7 times, most recently from a2b45ed to db81a42 Compare November 4, 2016 19:10
@MayeulChassagnard MayeulChassagnard force-pushed the Continuous-Integration-on-centos-2016.10.27-rebased branch 3 times, most recently from 8a706f8 to 1196175 Compare November 10, 2016 15:42
@MayeulChassagnard
Copy link
Member Author

MayeulChassagnard commented Nov 10, 2016

Wooooww! 🎆 🙌 🎉 It works finally! CircleCI details

Going to update SlicerDocker to run all tests!

@MayeulChassagnard MayeulChassagnard force-pushed the Continuous-Integration-on-centos-2016.10.27-rebased branch 2 times, most recently from bcd6e85 to 845cedb Compare November 15, 2016 16:25
@MayeulChassagnard
Copy link
Member Author

We are facing a major problem..

Because test's results are displayed only at the end and it takes more than 10 minutes to run all these Slicer's tests, CircleCI is running into a Timed Out.

timed_out_circleci

@jcfr
Copy link
Member

jcfr commented Nov 15, 2016

What about running the test with -V or even -VV ?

@MayeulChassagnard
Copy link
Member Author

@ihnorton
Copy link
Member

@MayeulChassagnard some possible options:

  • override the timeout
  • send some (subset) of output to syslog and use docker logs --follow ... to get it (replacing docker wait).
  • or simplest might be to do:
while docker inspect -f {{.State.Running}} $container
do
  sleep(5)
  echo -n .
done

@MayeulChassagnard MayeulChassagnard force-pushed the Continuous-Integration-on-centos-2016.10.27-rebased branch from 845cedb to 24eee72 Compare November 17, 2016 23:16
@jcfr jcfr added the feature label Nov 18, 2016
@MayeulChassagnard MayeulChassagnard force-pushed the Continuous-Integration-on-centos-2016.10.27-rebased branch 2 times, most recently from e58f377 to 24bf254 Compare December 7, 2016 21:55
@MayeulChassagnard MayeulChassagnard force-pushed the Continuous-Integration-on-centos-2016.10.27-rebased branch 2 times, most recently from 145ec76 to 51999d4 Compare January 9, 2017 19:44
@MayeulChassagnard
Copy link
Member Author

py_AtlasTest seems not stable (http://slicer.cdash.org/index.php?project=Slicer4&date=2017-01-09##Experimental)

Should we remove it from the test list?

Run tests (which are built in the slicer/slicer-test docker image) with
X_Window_System supported inside the slicer/slicer-test:opengl docker image
based on thewtex/opengl:centos
…image

* Remove mounted src (-v ...) from run-opengl.sh
* Keep only useful files needed to run the tests from the src such as:
  - test.sh
  - CircleCI_Slicer_Docker.cmake
  - sumbit config CTestConfig.cmake (we copied directly what there is inside,
    into CircleCI_Slicer_Docker.cmake)
Only run.sh & run_opengl.sh are needed inside Slicer to be able to launch
the automatic build & tests from circle.yml
FROM https://circleci.com/docs/docker-btrfs-error/
```
When Docker creates a container, the container is created on Btrfs,
the filesystem that we use to store all build containers, and removing
a container is equivalent to removing a Btrfs subvolume.

However, the Docker process doesn’t have permission to remove btrfs
subvolumes, resulting in the error
```

BUG: --rm=false replaced by commenting docker rm cmd
…ests

Because tests results were displayed only at the end, CircleCI was running
into a timed out due to no output during more than 10minutes.

Fixed by displaying a dot every minute.
This information should be provided by slicer-build docker image
(The place where Slicer is built)
@MayeulChassagnard MayeulChassagnard force-pushed the Continuous-Integration-on-centos-2016.10.27-rebased branch from 51999d4 to 7f73a93 Compare January 12, 2017 17:43
@pieper
Copy link
Member

pieper commented Jan 12, 2017 via email

@MayeulChassagnard
Copy link
Member Author

@pieper Yes, and note that when I manually rebuild (by clicking the 'rebuild' button in CircleCI), the test becomes green (because it's executed in less than 10 minutes)

@jcfr jcfr added wip and removed wip labels Feb 9, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
5 participants