Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Please static checkers.
[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   - apt-get --allow-releaseinfo-change update
13   - apt install -y xsltproc
14   - cmake -Denable_model-checking=OFF -Denable_documentation=OFF -Denable_coverage=OFF -Denable_compile_optimizations=ON -Denable_smpi=ON -Denable_smpi_MPICH3_testsuite=ON -Denable_compile_warnings=ON -DLTO_EXTRA_FLAG="auto" .
15   - make -j$(nproc) VERBOSE=1 all tests
16   - ctest -T Test -j$(nproc) --output-on-failure
17   - xsltproc ./tools/jenkins/ctest2junit.xsl Testing/"$( head -n 1 < Testing/TAG )"/Test.xml > CTestResults.xml
18   artifacts:
19     paths:
20     - lib/
21     reports:
22       junit:
23       - CTestResults.xml
24     expire_in: 1 week
25     when: always
26
27
28 release:
29   stage: build
30   only:
31   - stable
32   script:
33   - apt-get --allow-releaseinfo-change update
34   - 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 # This cannot work anymore because Java is now built by the modelchecker jenkins configuration, that is not on macosx
39 # Please use the github action instead
40 #  - make VERBOSE=1 -j$(nproc) dist simgrid simgrid-java_jar
41 #  # Get the foreign architectures
42 #  - wget https://ci.appveyor.com/api/projects/mquinson/simgrid/artifacts/simgrid.jar -O simgrid-windows.jar
43 #  - export SGVER=`grep SimGrid ChangeLog|head -n1|sed -e 's/SimGrid (//' -e 's/).*//'`
44 #  - wget https://ci.inria.fr/simgrid/job/SimGrid/build_mode=Debug,node=macos/lastSuccessfulBuild/artifact/build/simgrid-${SGVER}/build/simgrid.jar -O simgrid-mac.jar
45 #  # Open all jar files, and strip them
46 #  - mkdir content ; cd content
47 #  - for j in  ../simgrid.jar ../simgrid-windows.jar ../simgrid-mac.jar ; do unzip -n $j ; done
48 #  - strip NATIVE/*/*/*.so
49 #  - x86_64-linux-gnu-strip NATIVE/*/*/lib*dll
50 #  - zip -r ../simgrid-${SGVER}.jar *
51   artifacts:
52     paths:
53 #    - simgrid-*.jar
54     - simgrid-*.tar.gz
55
56 pip:
57   image:
58     name: python:3-bullseye
59     entrypoint: ['/bin/bash', '-c', 'ln -snf /bin/bash /bin/sh && /bin/bash -c $0' ]
60   stage: build
61   except:
62   - stable
63   script:
64   - apt-get --allow-releaseinfo-change update
65   - apt install -y python3-pip cmake libboost-dev g++ gcc pybind11-dev
66   - python3 setup.py sdist
67   - cd dist
68   - tar xfz simgrid*.tar.gz
69   - cd simgrid-*/
70   - python3 setup.py build
71
72 pages:
73   stage: deploy
74   script:
75   - pip3 install --requirement docs/requirements.txt
76   - cd docs/source/_ext/javasphinx; python3 setup.py build; python3 setup.py install
77   - cd ../../..
78   - LC_ALL=C.UTF-8 ./Build.sh
79   - mv build/html ../public
80   # - The CSS contains a reference to a font or something, not something we gonna fix on our side
81   # - The javasphinx output does not exist in the git, so the "edit on FramaGit" link is broken.
82   #   I'd like to report this as a bug, but javasphinx seems abandonned upstream.
83 #not installed   - linkchecker --ignore-url='.*\.css$' --ignore-url=public/java/org ../public
84   # From time to time, we should check external links with the
85   # following, but it has a lot of false positive
86   # - linkchecker --ignore-url='.*\.css$' --ignore-url=public/java/org --check-extern ../public
87   artifacts:
88     paths:
89     - public
90   only:
91   - master
92   needs: ["ctest"]