]> granicus.if.org Git - graphviz/commitdiff
CI: add Ubuntu 22.04 as a tested platform
authorMatthew Fernandez <matthew.fernandez@gmail.com>
Fri, 22 Apr 2022 00:19:18 +0000 (17:19 -0700)
committerMatthew Fernandez <matthew.fernandez@gmail.com>
Sun, 1 May 2022 02:35:18 +0000 (19:35 -0700)
We should perhaps consider migrating the more unusual variants like the ASan
jobs to Ubuntu 22.04 too in future.

Github: closes #2234

.gitlab-ci.yml
ci/ubuntu-22.04/Dockerfile [new file with mode: 0644]

index 36ba64fb8424028313ee81206678fd2df7d7628d..a9dbb2c95b744599259146805ed9e3c5e0b14766 100644 (file)
@@ -343,6 +343,18 @@ ubuntu21-10-build:
     variables:
       IMAGE: ubuntu-21.10
 
+ubuntu22-04-build:
+    <<: *deb_build_definition
+    needs:
+        - job: docker_build_ubuntu-22.04
+          artifacts: false
+        - job: portable-source
+          artifacts: true
+    tags:
+        - linux
+    variables:
+      IMAGE: ubuntu-22.04
+
 ubuntu21-10-static-build:
     <<: *deb_build_definition
     before_script:
@@ -691,6 +703,23 @@ ubuntu21-10-cmake-build:
     variables:
       IMAGE: ubuntu-21.10
 
+ubuntu22-04-cmake-build:
+    <<: *deb_build_definition
+    needs:
+        - job: docker_build_ubuntu-22.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-22.04
+
 ubuntu21-10-cmake-minimal-build:
     <<: *deb_build_definition
     needs:
@@ -962,6 +991,18 @@ ubuntu21-10-test:
     variables:
       IMAGE: ubuntu-21.10
 
+ubuntu22-04-test:
+    <<: *linux_test_definition
+    before_script:
+        - export build_system="autotools"
+    needs:
+        - job: "ubuntu22-04-build"
+          artifacts: true
+    tags:
+        - linux
+    variables:
+      IMAGE: ubuntu-22.04
+
 centos7-test:
     <<: *linux_test_definition
     before_script:
@@ -1044,6 +1085,19 @@ ubuntu21-10-cmake-test:
     variables:
       IMAGE: ubuntu-21.10
 
+ubuntu22-04-cmake-test:
+    <<: *linux_test_definition
+    before_script:
+        - export build_system="cmake"
+        - python3 gen_version.py --output GRAPHVIZ_VERSION
+    needs:
+        - job: "ubuntu22-04-cmake-build"
+          artifacts: true
+    tags:
+        - linux
+    variables:
+      IMAGE: ubuntu-22.04
+
 ubuntu21.10-cmake-ASan-test-including-ctest:
     <<: *linux_test_definition_including_ctest
     before_script:
@@ -1239,6 +1293,11 @@ docker_build_ubuntu-21.10:
   variables:
     IMAGE: ubuntu-21.10
 
+docker_build_ubuntu-22.04:
+  <<: *docker_build_definition
+  variables:
+    IMAGE: ubuntu-22.04
+
 docker_push_centos7:
   <<: *docker_push_definition
   variables:
@@ -1281,6 +1340,13 @@ docker_push_ubuntu-21.10:
   needs:
     - docker_build_ubuntu-21.10
 
+docker_push_ubuntu-22.04:
+  <<: *docker_push_definition
+  variables:
+    IMAGE: ubuntu-22.04
+  needs:
+    - docker_build_ubuntu-22.04
+
 lint_clang_format:
   image: "$CI_REGISTRY_IMAGE/ubuntu-21.10:$CI_COMMIT_SHA"
   stage: test
diff --git a/ci/ubuntu-22.04/Dockerfile b/ci/ubuntu-22.04/Dockerfile
new file mode 100644 (file)
index 0000000..78a0c47
--- /dev/null
@@ -0,0 +1,96 @@
+FROM ubuntu:22.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 \
+clang-format \
+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/*