Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Add new entry in Release_Notes.
[simgrid.git] / .gitlab-ci.yml
index f7e1ac4..bbf969b 100644 (file)
 image: simgrid/build-deps
 
+stages:
+ - build
+ - deploy
+
+ctest-debug:
+  stage: build
+  except:
+  - stable
+  script:
+  - apt-get --allow-releaseinfo-change update
+  - apt install -y binutils xsltproc
+  - 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" .
+  - make -j$(nproc) VERBOSE=1 all tests
+  - ctest -T Test -j$(nproc) --output-on-failure
+  - xsltproc ./tools/jenkins/ctest2junit.xsl Testing/"$( head -n 1 < Testing/TAG )"/Test.xml > CTestResults.xml
+  artifacts:
+    paths:
+    - lib/
+    reports:
+      junit:
+      - CTestResults.xml
+    expire_in: 1 week
+    when: always
+
+ctest-modelchecking:
+  stage: build
+  except:
+  - stable
+  script:
+  - apt-get --allow-releaseinfo-change update
+  - apt install -y binutils xsltproc clang
+  - 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++ .
+  - make -j$(nproc) VERBOSE=1 all tests
+  - ctest -T Test -j$(nproc) --output-on-failure
+  - xsltproc ./tools/jenkins/ctest2junit.xsl Testing/"$( head -n 1 < Testing/TAG )"/Test.xml > CTestResults.xml
+  artifacts:
+    paths:
+    - lib/
+    reports:
+      junit:
+      - CTestResults.xml
+    expire_in: 1 week
+    when: always
+
+ctest-distcheck:
+  stage: build
+  only:
+  - merge_requests
+  script:
+  - apt-get --allow-releaseinfo-change update
+  - apt install -y binutils
+  - cmake .
+  - make distcheck-configure
+
+release:
+  stage: build
+  only:
+  - stable
+  script:
+  - apt-get --allow-releaseinfo-change update
+  - apt install -y binutils wget unzip zip
+  - cmake -Denable_documentation=OFF -Dminimal-bindings=ON -Denable_compile_optimizations=ON -Denable_smpi=OFF -DLTO_EXTRA_FLAG="auto" .
+  - make VERBOSE=1 -j$(nproc) dist
+  artifacts:
+    paths:
+    - simgrid-*.tar.gz
+
+pip:
+  image:
+    name: python:3-bullseye
+    entrypoint: ['/bin/bash', '-c', 'ln -snf /bin/bash /bin/sh && /bin/bash -c $0' ]
+  stage: build
+  except:
+  - stable
+  script:
+  - apt-get --allow-releaseinfo-change update
+  - apt install -y python3-pip cmake libboost-dev g++ gcc pybind11-dev
+  - python3 setup.py sdist
+  - cd dist
+  - tar xfz simgrid*.tar.gz
+  - cd simgrid-*/
+  - python3 setup.py build
+
 pages:
+  stage: deploy
   script:
-  - pip3 install --requirement docs/requirements.txt
-  - cmake -Denable_model-checking=OFF -Denable_documentation=OFF -Denable_coverage=OFF -Denable_java=OFF -Denable_lua=OFF -Denable_compile_optimizations=OFF -Denable_smpi=OFF .
-  - make -j4 simgrid_python
+  - apt install -y python3-breathe python3-sphinx python3-sphinx-rtd-theme python3-sphinx-copybutton python3-sphinx-tabs
+ # - pip3 install --requirement docs/requirements.txt # Forbidden in Debian:12
   - cd docs
   - LC_ALL=C.UTF-8 ./Build.sh
   - mv build/html ../public
+  # - The CSS contains a reference to a font or something, not something we gonna fix on our side
+# not installed   - linkchecker --ignore-url='.*\.css$' ../public
+  # From time to time, we should check external links with the
+  # following, but it has a lot of false positive
+  # - linkchecker --ignore-url='.*\.css$' --check-extern ../public
   artifacts:
     paths:
     - public
   only:
   - master
-
-ctest:
-  script:
-  - 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 .
-  - make VERBOSE=1 && ctest --output-on-failure
+  needs: ["ctest-debug"]