variables:
IMAGE: ubuntu-20.04
-ubuntu21-04-build:
- <<: *deb_build_definition
- needs:
- - job: docker_build_ubuntu-21.04
- artifacts: false
- - job: portable-source
- artifacts: true
- tags:
- - linux
- variables:
- IMAGE: ubuntu-21.04
-
ubuntu21-10-build:
<<: *deb_build_definition
needs:
variables:
IMAGE: ubuntu-21.10
-ubuntu21-04-static-build:
- <<: *deb_build_definition
- before_script:
- - export CONFIGURE_OPTIONS="--disable-shared --enable-static"
- needs:
- - job: docker_build_ubuntu-21.04
- artifacts: false
- - job: portable-source
- artifacts: true
- artifacts:
- when: on_success
- expire_in: 1 week
- paths:
- - Metadata/*/*/configure.log
- - GRAPHVIZ_VERSION
- reports:
- metrics: metrics.txt
- tags:
- - linux
- variables:
- IMAGE: ubuntu-21.04
-
ubuntu21-10-static-build:
<<: *deb_build_definition
before_script:
variables:
IMAGE: ubuntu-18.04
-ubuntu21-04-cmake-build:
- <<: *deb_build_definition
- needs:
- - job: docker_build_ubuntu-21.04
- artifacts: false
- before_script:
- - export build_system="cmake"
- # fail on any compiler warnings
- - export CFLAGS=-Werror
- - export CXXFLAGS=-Werror
- - export CMAKE_OPTIONS="-Dwith_cxx_tests=ON -Dwith_cxx_api=ON"
- - export CMAKE_OPTIONS="$CMAKE_OPTIONS -Dwith_smyrna=ON"
- tags:
- - linux
- variables:
- IMAGE: ubuntu-21.04
-
ubuntu21-10-cmake-build:
<<: *deb_build_definition
needs:
variables:
IMAGE: ubuntu-21.10
-ubuntu21-04-cmake-minimal-build:
- <<: *deb_build_definition
- needs:
- - job: docker_build_ubuntu-21.04
- artifacts: false
- before_script:
- - export build_system="cmake"
- # fail on any compiler warnings
- - export CFLAGS=-Werror
- - export CXXFLAGS=-Werror
- - export CMAKE_OPTIONS=""
- - export CMAKE_OPTIONS="$CMAKE_OPTIONS -Denable_ltdl=OFF"
- - export CMAKE_OPTIONS="$CMAKE_OPTIONS -Dwith_expat=OFF"
- - export CMAKE_OPTIONS="$CMAKE_OPTIONS -Dwith_digcola=OFF"
- - export CMAKE_OPTIONS="$CMAKE_OPTIONS -Dwith_ipsepcola=OFF"
- - export CMAKE_OPTIONS="$CMAKE_OPTIONS -Dwith_ortho=OFF"
- - export CMAKE_OPTIONS="$CMAKE_OPTIONS -Dwith_sfdp=OFF"
- - export CMAKE_OPTIONS="$CMAKE_OPTIONS -Dwith_smyrna=OFF"
- - export CMAKE_OPTIONS="$CMAKE_OPTIONS -Dwith_zlib=OFF"
- tags:
- - linux
- variables:
- IMAGE: ubuntu-21.04
-
ubuntu21-10-cmake-minimal-build:
<<: *deb_build_definition
needs:
variables:
IMAGE: ubuntu-21.10
-ubuntu21-04-cmake-ASan-build-for-ctest:
- <<: *deb_build_definition
- needs:
- - job: docker_build_ubuntu-21.04
- artifacts: false
- before_script:
- - export build_system="cmake"
- # fail on any compiler warnings
- - export CFLAGS=-Werror
- - export CXXFLAGS=-Werror
- - export CMAKE_OPTIONS="-Duse_sanitizers=ON -Duse_coverage=ON -Dwith_cxx_tests=ON -Dwith_cxx_api=ON"
- - export CMAKE_OPTIONS="$CMAKE_OPTIONS -Dwith_smyrna=ON"
- # override the deb_build_definition artifacts since we need more
- # files from the build directory when running ctest in the test
- # stage.
- artifacts:
- when: on_success
- expire_in: 1 week
- paths:
- # the C++ test programs
- - build/tests/test_*
- # the ctest files
- - build/**/CTestTestfile.cmake
- # archive all shared libraries produced directly by "cmake
- # --build" (but not those in the install directory that
- # cpack has copied). In the test stage, the test
- # executables load them from those directory locations
- # since LD_LIBRARY_PATH is automatically set up to contain
- # them.
- - build/lib/**/lib*.so.*
- - build/plugin/**/lib*.so.*
- # the coverage analysis needs the .gcno files
- - build/**/*.gcno
- # the dot program is needed to configure the plugins before running pre-install tests
- - build/cmd/dot/dot
- # the packages need to be installed for the post-install tests
- - Packages/*/*/*deb
- reports:
- metrics: metrics.txt
- tags:
- - linux
- variables:
- IMAGE: ubuntu-21.04
-
ubuntu21-10-cmake-ASan-build-for-ctest:
<<: *deb_build_definition
needs:
variables:
IMAGE: ubuntu-20.04
-ubuntu21-04-test:
- <<: *linux_test_definition
- before_script:
- - export build_system="autotools"
- needs:
- - job: "ubuntu21-04-build"
- artifacts: true
- tags:
- - linux
- variables:
- IMAGE: ubuntu-21.04
-
ubuntu21-10-test:
<<: *linux_test_definition
before_script:
variables:
IMAGE: ubuntu-18.04
-ubuntu21-04-cmake-test:
- <<: *linux_test_definition
- before_script:
- - export build_system="cmake"
- - python3 gen_version.py --output GRAPHVIZ_VERSION
- needs:
- - job: "ubuntu21-04-cmake-build"
- artifacts: true
- tags:
- - linux
- variables:
- IMAGE: ubuntu-21.04
-
ubuntu21-10-cmake-test:
<<: *linux_test_definition
before_script:
variables:
IMAGE: ubuntu-21.10
-ubuntu21.04-cmake-ASan-test-including-ctest:
- <<: *linux_test_definition_including_ctest
- before_script:
- - export build_system="cmake"
- - export CFLAGS=" -g -fsanitize=address,undefined"
- - export CXXFLAGS=" -g -fsanitize=address,undefined"
- - export LDFLAGS=" -g -fsanitize=address,undefined"
- - python3 gen_version.py --output GRAPHVIZ_VERSION
- needs:
- - job: "ubuntu21-04-cmake-ASan-build-for-ctest"
- artifacts: true
- tags:
- - linux
- variables:
- IMAGE: ubuntu-21.04
-
ubuntu21.10-cmake-ASan-test-including-ctest:
<<: *linux_test_definition_including_ctest
before_script:
variables:
IMAGE: ubuntu-20.04
-docker_build_ubuntu-21.04:
- <<: *docker_build_definition
- variables:
- IMAGE: ubuntu-21.04
-
docker_build_ubuntu-21.10:
<<: *docker_build_definition
variables:
needs:
- docker_build_ubuntu-20.04
-docker_push_ubuntu-21.04:
- <<: *docker_push_definition
- variables:
- IMAGE: ubuntu-21.04
- needs:
- - docker_build_ubuntu-21.04
-
docker_push_ubuntu-21.10:
<<: *docker_push_definition
variables:
+++ /dev/null
-FROM ubuntu:21.04
-
-ARG DEBIAN_FRONTEND=noninteractive
-
-COPY requirements.txt ./requirements.txt
-COPY doc/infosrc/requirements.txt ./doc-infosrc-requirements.txt
-
-RUN apt-get update -y \
-&& apt-get install --no-install-recommends -y \
-# Development tools
-build-essential \
-cmake \
-git \
-pkg-config \
-autoconf \
-bison \
-libtool \
-dh-python \
-flex \
-ksh \
-# Debian build utilities
-quilt \
-d-shlibs \
-debhelper \
-fakeroot \
-# Option glut
-freeglut3-dev \
-# Option gts
-libgts-dev \
-# Option swig
-swig \
-# Command smyra
-libgtkglext1-dev \
-libglade2-dev \
-# Command gvedit
-libqt5gui5 \
-qt5-qmake \
-qtbase5-dev \
-# for libmingle
-libann-dev \
-# Plugin library devil
-libdevil-dev \
-# Plugin library gd
-libgd-dev \
-# Documentation
-ghostscript \
-# Plugin library ghostscipt
-libgs-dev \
-# Plugin library lasi
-liblasi-dev \
-# Plugin library poppler
-libpoppler-dev \
-libpoppler-glib-dev \
-# Plugin library rsvg
-librsvg2-dev \
-# Plugin library webp
-libwebp-dev \
-# Language extension gv_sharp & gv_ruby
-ruby \
-# Language extension gv_go
-golang-go \
-# Language extension gv_guile
-guile-2.2 \
-guile-2.2-dev \
-# Language extension gv_lua
-lua5.3 \
-liblua5.3-dev \
-# Language extension gv_ocaml
-ocaml \
-# Language extension gv_perl
-libperl-dev \
-# Language extension gv_php
-php-dev \
-libsodium-dev \
-libargon2-0-dev \
-# Language extension gv_python3
-libpython3-dev \
-# Language extension gv_ruby
-ruby-dev \
-# Language extension gv_tcl
-tcl-dev \
-# Test utilities
-python3-pip \
-python3-setuptools \
-gcovr \
-# Libraries used in test
-catch2 \
-libboost-dev \
-libsvgpp-dev \
-# install Python dependencies
-&& python3 -m pip install --user --upgrade pip \
-&& python3 -m pip install --user --requirement requirements.txt \
-&& python3 -m pip install --user --requirement doc-infosrc-requirements.txt \
-# Clean up
-&& rm -rf /var/lib/apt/lists/*