Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Define and throw simgrid::VmFailureException.
[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 "open on GitLab" link is broken.
18   #   I'd like to report this as a bug, but javasphinx seems abandonned upstream.
19   # - public/search.html and public/genindex.html are also generated.
20   - linkchecker --ignore-url='.*\.css$' --ignore-url=public/java/org ../public
21   # From time to time, we should check external links with the
22   # following, but it has a lot of false positive
23   # - linkchecker --ignore-url='.*\.css$' --ignore-url=public/java/org --check-extern ../public
24   artifacts:
25     paths:
26     - public
27   only:
28   - master
29
30 ctest:
31   stage: build
32   except:
33   - stable
34   script:
35   - 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 .
36   - make VERBOSE=1 all tests && ctest --output-on-failure
37
38 pip:
39   image: debian:testing
40   stage: build
41   except:
42   - stable
43   script:
44   - apt update && apt install -y python3-pip cmake libboost-dev g++ gcc pybind11-dev
45   - python3 setup.py sdist
46   - cd dist && tar xfz simgrid*.tar.gz && cd simgrid-*/ && python3 setup.py build
47
48 release:
49   stage: build
50   only:
51   - stable
52   script:
53   - apt update && apt install -y binutils-x86-64-linux-gnu wget unzip zip
54   # Build the linux version of the jarfile without the boost dependency
55   - cmake -Denable_documentation=OFF -Denable_java=ON -Denable_lib_in_jar=ON -Dminimal-bindings=ON -Denable_compile_optimizations=ON -Denable_smpi=OFF .
56   - make VERBOSE=1 dist simgrid simgrid-java_jar
57   # Get the foreign architectures
58   - wget https://ci.appveyor.com/api/projects/mquinson/simgrid/artifacts/simgrid.jar -O simgrid-windows.jar
59   - 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'`
60   - 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
61   # Open all jar files, and strip them
62   - mkdir content ; cd content
63   - for j in  ../simgrid.jar ../simgrid-windows.jar ../simgrid-mac.jar ; do unzip -n $j ; done
64   - strip NATIVE/*/*/*.so
65   - x86_64-linux-gnu-strip NATIVE/*/*/lib*dll
66   - zip -r ../SimGrid-${SGVER}.jar *
67   artifacts:
68     paths:
69     - SimGrid-*.jar
70     - SimGrid-*.tar.gz