X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/d9f87493dd8a4260159b7695d157a72053637220..8e8f462dcdb91bae92c7053034dc723fd3ea2abf:/.gitlab-ci.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8ccb3ac5bf..cb45b58b17 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,43 +1,92 @@ image: simgrid/build-deps -pages: +stages: + - build + - deploy + +ctest: + stage: build + except: + - stable 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 python-bindings - - cd docs - - LC_ALL=C.UTF-8 ./Build.sh - - mv build/html ../public + - apt-get --allow-releaseinfo-change update + - apt install -y xsltproc + - 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" . + - 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: - - public - only: - - master + - lib/ + reports: + junit: + - CTestResults.xml + expire_in: 1 week + when: always -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 all tests && ctest --output-on-failure release: + stage: build only: - stable script: - - apt update && apt install -y binutils-x86-64-linux-gnu wget unzip zip + - apt-get --allow-releaseinfo-change update + - apt install -y binutils-x86-64-linux-gnu wget unzip zip # Build the linux version of the jarfile without the boost dependency - - cmake -Denable_documentation=OFF -Denable_java=ON -Denable_lib_in_jar=ON -Dminimal_java=ON -Denable_compile_optimizations=ON -Denable_smpi=OFF . - - make VERBOSE=1 dist simgrid simgrid-java_jar - # Get the foreign architectures - - wget https://ci.appveyor.com/api/projects/mquinson/simgrid/artifacts/simgrid.jar -O simgrid-windows.jar - - export SGVER=`(echo '#include "simgrid/config.h"'; echo SIMGRID_VERSION_MAJOR.SIMGRID_VERSION_MINOR.SIMGRID_VERSION_PATCH)|gcc -E - -Iinclude|tail -1|sed 's/ //g'` - - wget https://ci.inria.fr/simgrid/job/SimGrid/build_mode=Debug,node=simgrid-osx-highsierra/lastSuccessfulBuild/artifact/build/SimGrid-${SGVER}/build/simgrid.jar -O simgrid-mac.jar - # Open all jar files, and strip them - - mkdir content ; cd content - - for j in ../simgrid.jar ../simgrid-windows.jar ../simgrid-mac.jar ; do unzip -n $j ; done - - strip NATIVE/*/*/*.so - - x86_64-linux-gnu-strip NATIVE/*/*/lib*dll - - zip -r ../SimGrid-${SGVER}.jar * + - 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" . + - make VERBOSE=1 -j$(nproc) dist simgrid simgrid-java_jar +# This cannot work anymore because Java is now built by the modelchecker jenkins configuration, that is not on macosx +# Please use the github action instead +# - make VERBOSE=1 -j$(nproc) dist simgrid simgrid-java_jar +# # Get the foreign architectures +# - wget https://ci.appveyor.com/api/projects/mquinson/simgrid/artifacts/simgrid.jar -O simgrid-windows.jar +# - export SGVER=`grep SimGrid ChangeLog|head -n1|sed -e 's/SimGrid (//' -e 's/).*//'` +# - 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 +# # Open all jar files, and strip them +# - mkdir content ; cd content +# - for j in ../simgrid.jar ../simgrid-windows.jar ../simgrid-mac.jar ; do unzip -n $j ; done +# - strip NATIVE/*/*/*.so +# - x86_64-linux-gnu-strip NATIVE/*/*/lib*dll +# - zip -r ../simgrid-${SGVER}.jar * + artifacts: + paths: +# - simgrid-*.jar + - 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 + - cd docs/source/_ext/javasphinx; python3 setup.py build; python3 setup.py install + - cd ../../.. + - 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 + # - The javasphinx output does not exist in the git, so the "edit on FramaGit" link is broken. + # I'd like to report this as a bug, but javasphinx seems abandonned upstream. +#not installed - linkchecker --ignore-url='.*\.css$' --ignore-url=public/java/org ../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$' --ignore-url=public/java/org --check-extern ../public artifacts: paths: - - SimGrid-*.jar - - SimGrid-*.tar.gz + - public + only: + - master + needs: ["ctest"]