Logo AND Algorithmique Numérique Distribuée

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