Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Release v3.35
[simgrid.git] / .gitlab-ci.yml
1 image: simgrid/build-deps
2
3 stages:
4  - build
5  - deploy
6
7 ctest-debug:
8   stage: build
9   except:
10   - stable
11   script:
12   - apt-get --allow-releaseinfo-change update
13   - apt install -y binutils xsltproc
14   - cmake -Denable_model-checking=OFF -Denable_documentation=OFF -Denable_coverage=OFF -Denable_compile_optimizations=ON -Denable_smpi=ON -Denable_testsuite_smpi_MPICH3=ON -Denable_testsuite_McMini=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 ctest-modelchecking:
28   stage: build
29   except:
30   - stable
31   script:
32   - apt-get --allow-releaseinfo-change update
33   - apt install -y binutils xsltproc clang
34   - cmake -Denable_model-checking=ON -Denable_documentation=OFF -Denable_coverage=OFF -Denable_compile_optimizations=ON -Denable_smpi=ON -Denable_testsuite_smpi_MPICH3=OFF -Denable_testsuite_McMini=OFF -Denable_compile_warnings=ON -DLTO_EXTRA_FLAG="auto" -DCMAKE_C_COMPILER=/usr/bin/clang  -DCMAKE_CXX_COMPILER=/usr/bin/clang++ .
35   - make -j$(nproc) VERBOSE=1 all tests
36   - ctest -T Test -j$(nproc) --output-on-failure
37   - xsltproc ./tools/jenkins/ctest2junit.xsl Testing/"$( head -n 1 < Testing/TAG )"/Test.xml > CTestResults.xml
38   artifacts:
39     paths:
40     - lib/
41     reports:
42       junit:
43       - CTestResults.xml
44     expire_in: 1 week
45     when: always
46
47 ctest-distcheck:
48   stage: build
49   only:
50   - merge_requests
51   script:
52   - apt-get --allow-releaseinfo-change update
53   - apt install -y binutils
54   - cmake .
55   - make distcheck-configure
56
57 release:
58   stage: build
59   only:
60   - stable
61   script:
62   - apt-get --allow-releaseinfo-change update
63   - apt install -y binutils wget unzip zip
64   - cmake -Denable_documentation=OFF -Dminimal-bindings=ON -Denable_compile_optimizations=ON -Denable_smpi=OFF -DLTO_EXTRA_FLAG="auto" .
65   - make VERBOSE=1 -j$(nproc) dist
66   artifacts:
67     paths:
68     - simgrid-*.tar.gz
69
70 pip:
71   image:
72     name: python:3-bullseye
73     entrypoint: ['/bin/bash', '-c', 'ln -snf /bin/bash /bin/sh && /bin/bash -c $0' ]
74   stage: build
75   except:
76   - stable
77   script:
78   - apt-get --allow-releaseinfo-change update
79   - apt install -y python3-pip cmake libboost-dev g++ gcc pybind11-dev
80   - python3 setup.py sdist
81   - cd dist
82   - tar xfz simgrid*.tar.gz
83   - cd simgrid-*/
84   - python3 setup.py build
85
86 pages:
87   stage: deploy
88   script:
89   - apt install -y python3-breathe python3-sphinx python3-sphinx-rtd-theme python3-sphinx-copybutton python3-sphinx-tabs
90  # - pip3 install --requirement docs/requirements.txt # Forbidden in Debian:12
91   - cd docs
92   - LC_ALL=C.UTF-8 ./Build.sh
93   - mv build/html ../public
94   # - The CSS contains a reference to a font or something, not something we gonna fix on our side
95 # not installed   - linkchecker --ignore-url='.*\.css$' ../public
96   # From time to time, we should check external links with the
97   # following, but it has a lot of false positive
98   # - linkchecker --ignore-url='.*\.css$' --check-extern ../public
99   artifacts:
100     paths:
101     - public
102   only:
103   - master
104   needs: ["ctest-debug"]