Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
make msg task extendable too
[simgrid.git] / .gitlab-ci.yml
1 image: simgrid/build-deps
2
3 stages:
4  - build
5  - test
6
7 pages:
8   stage: test
9   script:
10   - cmake -Denable_model-checking=OFF -Denable_documentation=ON -Denable_compile_optimizations=OFF -Denable_smpi=OFF -Dpython=ON .
11   - make -j4
12   - pip3 install --requirement docs/requirements.txt
13   - cd docs
14   - LC_ALL=C.UTF-8 ./Build.sh
15   - mv build/html ../public
16   # - The CSS contains a reference to a font or something, not something we gonna fix on our side
17   # - The javasphinx output does not exist in the git, so the "edit on FramaGit" link is broken.
18   #   I'd like to report this as a bug, but javasphinx seems abandonned upstream.
19   - linkchecker --ignore-url='.*\.css$' --ignore-url=public/java/org ../public
20   # From time to time, we should check external links with the
21   # following, but it has a lot of false positive
22   # - linkchecker --ignore-url='.*\.css$' --ignore-url=public/java/org --check-extern ../public
23   artifacts:
24     paths:
25     - public
26   only:
27   - master
28
29 ctest:
30   stage: build
31   except:
32   - stable
33   script:
34   - cmake -Denable_model-checking=OFF -Denable_documentation=OFF -Denable_coverage=OFF -Denable_java=ON -Denable_lua=OFF -Denable_compile_optimizations=ON -Denable_smpi=ON -Denable_smpi_MPICH3_testsuite=ON -Denable_compile_warnings=ON .
35   - make VERBOSE=1 all tests && ctest --output-on-failure
36
37 pip:
38   image: debian:testing
39   stage: build
40   except:
41   - stable
42   script:
43   - apt-get --allow-releaseinfo-change update && apt install -y python3-pip cmake libboost-dev g++ gcc pybind11-dev
44   - python3 setup.py sdist
45   - cd dist && tar xfz simgrid*.tar.gz && cd simgrid-*/ && python3 setup.py build
46
47 release:
48   stage: build
49   only:
50   - stable
51   script:
52   - apt-get --allow-releaseinfo-change update && apt install -y binutils-x86-64-linux-gnu wget unzip zip
53   # Build the linux version of the jarfile without the boost dependency
54   - cmake -Denable_documentation=OFF -Denable_java=ON -Denable_lib_in_jar=ON -Dminimal-bindings=ON -Denable_compile_optimizations=ON -Denable_smpi=OFF .
55   - make VERBOSE=1 dist simgrid simgrid-java_jar
56   # Get the foreign architectures
57   - wget https://ci.appveyor.com/api/projects/mquinson/simgrid/artifacts/simgrid.jar -O simgrid-windows.jar
58   - export SGVER=`printf '#include "simgrid/config.h"\n#if SIMGRID_VERSION_PATCH\nSIMGRID_VERSION_MAJOR.SIMGRID_VERSION_MINOR.SIMGRID_VERSION_PATCH\n#else\nSIMGRID_VERSION_MAJOR.SIMGRID_VERSION_MINOR\n#endif'|gcc -E - -Iinclude|tail -1|sed 's/ //g'`
59   - wget https://ci.inria.fr/simgrid/job/SimGrid/build_mode=Debug,node=osx/lastSuccessfulBuild/artifact/build/SimGrid-${SGVER}/build/simgrid.jar -O simgrid-mac.jar
60   # Open all jar files, and strip them
61   - mkdir content ; cd content
62   - for j in  ../simgrid.jar ../simgrid-windows.jar ../simgrid-mac.jar ; do unzip -n $j ; done
63   - strip NATIVE/*/*/*.so
64   - x86_64-linux-gnu-strip NATIVE/*/*/lib*dll
65   - zip -r ../SimGrid-${SGVER}.jar *
66   artifacts:
67     paths:
68     - SimGrid-*.jar
69     - SimGrid-*.tar.gz