100 lines
3.2 KiB
YAML
100 lines
3.2 KiB
YAML
# NS3 CI script for the documentation
|
|
# For the moment we do not install the generated documentation
|
|
#
|
|
.doc:
|
|
stage: documentation
|
|
before_script:
|
|
- pacman -Syu --noconfirm
|
|
- pacman -Sy base-devel ninja cmake python ccache gsl gtk3 boost --noconfirm
|
|
- pacman -Sy git doxygen graphviz imagemagick dia texlive-core texlive-bin texlive-latexextra python-sphinx --noconfirm
|
|
# no policy is a good policy.
|
|
- mv /etc/ImageMagick-7/policy.xml /etc/ImageMagick-7/policy.xml.bak
|
|
# - sed -i "s/EPS,PDF,//g" /etc/ImageMagick-7/policy.xml
|
|
# - sed -i "s/none/read\ |\ write/g" /etc/ImageMagick-7/policy.xml
|
|
image: archlinux
|
|
timeout: 2h
|
|
# artifacts:
|
|
# paths:
|
|
# - public
|
|
|
|
doxygen:
|
|
extends: .doc
|
|
script:
|
|
- mkdir -p $CCACHE_BASEDIR_VALUE
|
|
- export CCACHE_BASEDIR=${PWD}
|
|
- export CCACHE_DIR=${PWD}/$CCACHE_BASEDIR_VALUE
|
|
- CXX="ccache $COMPILER" ./waf configure --enable-examples --enable-tests --enable-asserts -d release
|
|
- ./waf
|
|
# - ./ns3 configure -d release -GNinja --enable-examples --enable-tests --enable-asserts
|
|
# - ./ns3 build
|
|
# - mkdir -p public/doxygen
|
|
- git remote add ns-3-origin https://gitlab.com/nsnam/ns-3-dev.git || true
|
|
- git fetch ns-3-origin
|
|
# - doc/doxygen.warnings.report.sh -f "$(git diff --name-only ns-3-origin/master --diff-filter=d | tr '\n' ' ' | sed 's/ $//g;s/ /\\\|/g')"
|
|
- export CHANGED_FILES=$(git diff --name-only ns-3-origin/master --diff-filter=d | tr '\n' ' ' | sed 's/ $//g;s/ /\\\|/g')
|
|
- doc/doxygen.warnings.report.sh -f "$CHANGED_FILES"
|
|
# - doc/doxygen.warnings.report.sh -f "$CHANGED_FILES" || EXIT_CODE=$?
|
|
# - if [ -z $EXIT_CODE ]; then export EXIT_CODE=0; fi;
|
|
# - if [ $EXIT_CODE -ne 0 ]; then if [ -z $CHANGED_FILES ]; then exit 0; fi; fi;
|
|
# - exit $EXIT_CODE
|
|
|
|
# - doxygen doc/doxygen.conf
|
|
# - mv doc/html/ public/doxygen
|
|
cache:
|
|
# Use separate key for each (debug/optimized/release) jobs because
|
|
# they run in parallel and will otherwise overwrite each other
|
|
# cache when they upload the cache archive at the end of the job,
|
|
# resulting in only the cache for the last finished configuration
|
|
# being stored.
|
|
#
|
|
# Do not distinguish between branches though to avoid
|
|
# recompilation of all the files when a new branch is created.
|
|
key: "ccache-$CI_JOB_NAME"
|
|
paths:
|
|
- $CCACHE_BASEDIR_VALUE/
|
|
variables:
|
|
CCACHE_BASEDIR_VALUE: ns-3-ccache-storage
|
|
COMPILER: g++
|
|
artifacts:
|
|
paths:
|
|
- doc/doxygen.warnings.log
|
|
# tags:
|
|
# - nsnam
|
|
# - linux
|
|
|
|
manual:
|
|
extends: .doc
|
|
script:
|
|
# - mkdir -p public/manual
|
|
- cd doc/manual
|
|
- make html
|
|
- make latexpdf
|
|
# - mv build/html ../../public/manual
|
|
# - mv build/latex/ns-3-manual.pdf ../../public/
|
|
only:
|
|
- master
|
|
|
|
tutorial:
|
|
extends: .doc
|
|
script:
|
|
# - mkdir -p public/manual
|
|
- cd doc/tutorial
|
|
- make html
|
|
- make latexpdf
|
|
# - mv build/html ../../public/manual
|
|
# - mv build/latex/ns-3-tutorial.pdf ../../public/
|
|
only:
|
|
- master
|
|
|
|
models:
|
|
extends: .doc
|
|
script:
|
|
# - mkdir -p public/models
|
|
- cd doc/models
|
|
- make html
|
|
- make latexpdf
|
|
# - mv build/html ../../public/models
|
|
# - mv build/latex/ns-3-model-library.pdf ../../public
|
|
only:
|
|
- master
|