Files
unison/utils/tests/gitlab-ci-doc.yml
2021-05-03 17:48:10 +00:00

87 lines
2.7 KiB
YAML

# NS3 CI script for the documentation
# For the moment we do not install the generated documentation
#
.doc:
stage: documentation
before_script:
- apt-get update
- DEBIAN_FRONTEND=noninteractive apt-get install -y tzdata
- apt-get install -y doxygen graphviz make imagemagick dia texlive texlive-font-utils python3-sphinx latexmk texlive texlive-science texlive-formats-extra texlive-base python3-jinja2 python3-pygments texlive-fonts-extra
- apt-get --quiet install git gcc g++ python python3 python-dev qt5-default openmpi-bin openmpi-common openmpi-doc libopenmpi-dev gsl-bin libgsl-dev ccache flex bison libfl-dev sqlite sqlite3 libsqlite3-dev libxml2 libxml2-dev libgtk-3-dev libboost-all-dev --yes
- sed -i "s/EPS,PDF,//g" /etc/ImageMagick-6/policy.xml
- sed -i "s/none/read\ |\ write/g" /etc/ImageMagick-6/policy.xml
image: ubuntu
# 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
- ./waf
# - mkdir -p public/doxygen
- doc/doxygen.warnings.report.sh -f "$(git diff --name-only --diff-filter=d | tr '\n' ' ' | sed 's/ $//g;s/ /\\\|/g')"
# - 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