X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/e22c35ade8d2059425c38e9c528471b6dcc99558..b59417738c8cf11f1804269c65a4738bbf43c150:/.gitlab-ci.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c58e2d6838..adc351cf42 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,22 +1,90 @@ -image: debian:testing +image: simgrid/build-deps + +stages: + - build + - deploy + +ctest: + stage: build + except: + - stable + script: + - apt-get --allow-releaseinfo-change update + - apt install -y xsltproc + - 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" . + - 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 + + +release: + stage: build + only: + - stable + script: + - 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_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: debian:testing + 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: - - apt update - - apt install -y libboost-all-dev libboost-dev python3-pip doxygen fig2dev - - pip3 install --requirement docs/requirements.txt - - cd docs - - sphinx-build -M html source/ build/ + - 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: - public only: - master - -tests: - script: - - apt update - - apt install -y libboost-all-dev libboost-dev cmake chrpath default-jdk valgrind gfortran build-essential libunwind-dev libdw-dev libelf-dev libevent-dev - - cmake -Denable_model-checking=ON -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"]