Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
docker: new simgrid/build-deps image, and use it on gitlab-ci/circleci
authorMartin Quinson <martin.quinson@loria.fr>
Thu, 23 Aug 2018 07:38:00 +0000 (09:38 +0200)
committerMartin Quinson <martin.quinson@loria.fr>
Thu, 23 Aug 2018 07:47:32 +0000 (09:47 +0200)
.circleci/config.yml
.gitlab-ci.yml
tools/docker/Dockerfile.build-deps [new file with mode: 0644]
tools/docker/Makefile

index b241f7f..fd35ff1 100644 (file)
@@ -7,7 +7,7 @@
 
 default: &default
   docker:
-    - image: simgrid/build
+    - image: simgrid/build-deps
 
 version: 2.0
 jobs:
index 25f3c2d..fc8df80 100644 (file)
@@ -1,9 +1,7 @@
-image: debian:testing
+image: simgrid/build-deps
 
 pages:
   script:
-  - apt update
-  - apt install -y libboost-all-dev libboost-dev python3-pip doxygen fig2dev
   - pip3 install --requirement docs/requirements.txt 
   - cd docs
   - ./Build.sh
@@ -14,9 +12,7 @@ pages:
   only:
   - master
 
-tests:
+ctest:
   script:
-  - apt update
-  - apt install -y libboost-all-dev libboost-dev cmake chrpath default-jdk valgrind gfortran build-essential
   - cmake -Denable_model-checking=OFF -Denable_documentation=OFF -Denable_coverage=ON -Denable_java=ON -Denable_lua=OFF -Denable_compile_optimizations=ON -Denable_smpi=ON -Denable_smpi_MPICH3_testsuite=ON -Denable_compile_warnings=ON .
   - make VERBOSE=1 && ctest --output-on-failure
diff --git a/tools/docker/Dockerfile.build-deps b/tools/docker/Dockerfile.build-deps
new file mode 100644 (file)
index 0000000..8a0415d
--- /dev/null
@@ -0,0 +1,16 @@
+# Base image 
+FROM debian:testing
+
+# - Install SimGrid's dependencies
+RUN apt update && \
+    apt install -y \
+       g++ gcc gfortran default-jdk \
+       git \
+       valgrind \
+       libboost-dev libboost-all-dev \
+       cmake \
+       python3-pip \
+       doxygen fig2dev \
+       chrpath \
+       libdw-dev libevent-dev libunwind8-dev
+                  
\ No newline at end of file
index 3e489cc..e189fc9 100644 (file)
@@ -1,5 +1,11 @@
 default:
-       @echo "Try make stable, make unstable, make tuto-s4u or make push."
+       @echo "Existing Targets:"
+       @echo "   make build-deps -> build an image with all possible SimGrid dependencies"
+       @echo "   make stable     -> build the latest stable version of SimGrid (with SMPI w/o MC)"
+       @echo "   make unstable   -> build the git version of SimGrid (with SMPI, w/o MC)"
+       @echo "   make tuto-s4u   -> build all what you need to take the S4U tutorial"
+       @echo "   make push       -> push all images to the cloud"
+       @echo "All our images are based on debian:testing"
        @echo "Also possible: DOCKER_EXTRA=--no-cache make unstable"
 
 stable:
@@ -20,6 +26,13 @@ unstable:
                 $(DOCKER_EXTRA) \
                  . | tee > unstable.log
 
+build-deps:
+       docker build -f Dockerfile.build-deps \
+                -t simgrid/build-deps:latest \
+                 -t simgrid/build-deps:$$(date --iso-8601) \
+                $(DOCKER_EXTRA) \
+                 . | tee > build-deps.log
+
 tuto-s4u: 
        docker build -f Dockerfile.tuto-s4u \
                 -t simgrid/tuto-s4u:latest \
@@ -28,6 +41,7 @@ tuto-s4u:
                  . | tee > tuto.log
 
 push:
+       docker push simgrid/build-deps
        docker push simgrid/stable
        docker push simgrid/unstable
        docker push simgrid/tuto-s4u