Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
a dockerfile for a wanna be MC tutorial
[simgrid.git] / tools / docker / Makefile
1 default:
2         @echo "Existing Targets:"
3         @echo "   make build-deps -> build an image with all possible SimGrid dependencies"
4         @echo "   make stable     -> build the latest stable version of SimGrid (with SMPI w/o MC)"
5         @echo "   make unstable   -> build the git version of SimGrid (with SMPI, w/o MC)"
6         @echo "   make tuto-s4u   -> build all what you need to take the S4U tutorial"
7         @echo "   make tuto-smpi  -> build all what you need to take the SMPI tutorial"
8         @echo "   make tuto-mc    -> build the git version of SimGrid (with SMPI and MC)"
9         @echo "   make all        -> build all but stable (ie, build-deps unstable tuto-s4u tuto-smpi)"
10         @echo "   make push       -> push all images to the cloud"
11         @echo "All our images are based on debian:testing"
12         @echo "Also possible: DOCKER_EXTRA=--no-cache make unstable"
13
14 all: build-deps unstable tuto-s4u tuto-smpi
15
16 stable:
17         export last_tag=`wget https://framagit.org/simgrid/simgrid/tags 2>/dev/null -O - | grep /simgrid/simgrid/tags/v | head -n1  | sed 's/[^>]*>//' | sed 's/<.*//'`; \
18         export url=`wget https://framagit.org/simgrid/simgrid/tags/$${last_tag} 2>/dev/null -O - | grep SimGrid- | perl -pe 's/.*?<li><a href="//' | sed 's/tar.gz.*/tar.gz/'` ;\
19         echo URL:$${url} ; \
20         docker build -f Dockerfile.stable \
21                  --build-arg DLURL=$${url} \
22                  -t simgrid/stable:latest \
23                  -t simgrid/stable:$${last_tag} \
24                  $(DOCKER_EXTRA) \
25                  . | tee > stable.log
26
27 unstable:
28         docker build -f Dockerfile.unstable \
29                  -t simgrid/unstable:latest \
30                  -t simgrid/unstable:$$(date --iso-8601) \
31                  $(DOCKER_EXTRA) \
32                  . | tee > unstable.log
33
34 build-deps:
35         docker build -f Dockerfile.build-deps \
36                  -t simgrid/build-deps:latest \
37                  -t simgrid/build-deps:$$(date --iso-8601) \
38                  $(DOCKER_EXTRA) \
39                  . | tee > build-deps.log
40
41 tuto-mc:
42         docker build -f Dockerfile.tuto-mc \
43                  -t simgrid/tuto-mc:latest \
44                  -t simgrid/tuto-mc:$$(date --iso-8601) \
45                  $(DOCKER_EXTRA) \
46                  . | tee > tuto-mc.log
47
48 build-deps-stable:
49         docker build -f Dockerfile.build-deps-stable \
50                  -t simgrid/build-deps-stable:latest \
51                  -t simgrid/build-deps-stable:$$(date --iso-8601) \
52                  $(DOCKER_EXTRA) \
53                  . | tee > build-deps-stable.log
54
55 tuto-s4u: 
56         docker build -f Dockerfile.tuto-s4u \
57                  -t simgrid/tuto-s4u:latest \
58                  -t simgrid/tuto-s4u:$$(date --iso-8601) \
59                  $(DOCKER_EXTRA) \
60                  . | tee > tuto-s4u.log
61
62 tuto-smpi: 
63         docker build -f Dockerfile.tuto-smpi \
64                  -t simgrid/tuto-smpi:latest \
65                  -t simgrid/tuto-smpi:$$(date --iso-8601) \
66                  $(DOCKER_EXTRA) \
67                  . | tee > tuto-smpi.log
68
69 push:
70         docker push simgrid/build-deps
71         docker push simgrid/stable
72         docker push simgrid/unstable
73         docker push simgrid/tuto-s4u
74         docker push simgrid/tuto-smpi
75         docker push simgrid/tuto-mc