From c7e89a8766af2a710eb84b53688745e9c8c3f502 Mon Sep 17 00:00:00 2001 From: Matthew Fernandez Date: Sun, 12 Dec 2021 10:57:52 -0800 Subject: [PATCH] add Fedora 35 testing in CI Related to #2163. --- .gitlab-ci.yml | 36 +++++++++++++++++++ ci/build.sh | 10 ++++++ ci/fedora35/Dockerfile | 82 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 128 insertions(+) create mode 100644 ci/fedora35/Dockerfile diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3c8b3d3c4..7ed809718 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -305,6 +305,18 @@ fedora34-build: variables: IMAGE: fedora34 +fedora35-build: + <<: *rpm_build_definition + needs: + - job: docker_build_fedora35 + artifacts: false + - job: portable-source + artifacts: true + tags: + - linux + variables: + IMAGE: fedora35 + ubuntu18-04-build: <<: *deb_build_definition needs: @@ -1085,6 +1097,18 @@ fedora34-test: variables: IMAGE: fedora34 +fedora35-test: + <<: *linux_test_definition + before_script: + - export build_system="autotools" + needs: + - job: "fedora35-build" + artifacts: true + tags: + - linux + variables: + IMAGE: fedora35 + macos-autotools-test: <<: *test_definition before_script: @@ -1296,6 +1320,11 @@ docker_build_fedora34: variables: IMAGE: fedora34 +docker_build_fedora35: + <<: *docker_build_definition + variables: + IMAGE: fedora35 + docker_build_ubuntu-18.04: <<: *docker_build_definition variables: @@ -1337,6 +1366,13 @@ docker_push_fedora34: needs: - docker_build_fedora34 +docker_push_fedora35: + <<: *docker_push_definition + variables: + IMAGE: fedora35 + needs: + - docker_build_fedora35 + docker_push_ubuntu-18.04: <<: *docker_push_definition variables: diff --git a/ci/build.sh b/ci/build.sh index 205400bb8..15b5d6c57 100755 --- a/ci/build.sh +++ b/ci/build.sh @@ -17,6 +17,16 @@ else # remove trailing text after actual version VERSION_ID=$( uname -r | sed "s/\([0-9\.]*\).*/\1/") fi + +# FIXME: the build system sets redundant RPATHs which trigger rpmbuild errors on +# Fedora ≥ 35, so suppress this rpmbuild check +# https://gitlab.com/graphviz/graphviz/-/issues/2163 +if [ "${ID}" = "fedora" ]; then + if [ ${VERSION_ID} -ge 35 ]; then + export QA_RPATHS=$(( 0x0001 )) + fi +fi + META_DATA_DIR=Metadata/${ID}/${VERSION_ID} mkdir -p ${META_DATA_DIR} DIR=$(pwd)/Packages/${ID}/${VERSION_ID} diff --git a/ci/fedora35/Dockerfile b/ci/fedora35/Dockerfile new file mode 100644 index 000000000..31b745624 --- /dev/null +++ b/ci/fedora35/Dockerfile @@ -0,0 +1,82 @@ +FROM fedora:35 + +COPY requirements.txt ./requirements.txt + +# Development tools +RUN yum -y groupinstall 'Development Tools' \ +&& yum -y install rpm-build \ +bison \ +byacc \ +flex \ +# Centos build utilities +libtool-ltdl-devel \ +libedit-devel \ +ksh \ +cmake \ +# Option xpat +expat-devel \ +# Option glut +freeglut-devel \ +# Option ann +ann-devel \ +# Option gts +gts-devel \ +# Option swig +swig \ +# Command lefty +# Command smyra +# Command gvedit +qt5-qtbase-devel \ +ncurses-devel \ +# Plugin library devil +DevIL-devel \ +# Plugin library gd +gd-devel \ +# Documentation and Plugin library ghostscipt +ghostscript ghostscript-devel \ +# Plugin library gtk +gtkglext-devel \ +# Plugin library lasi +lasi-devel \ +# Plugin library pangocairo +# Plugin library poppler +poppler-glib-devel \ +poppler-qt5 \ +# Plugin library rsvg +librsvg2-devel \ +# Plugin library webp +# Language extension gv_sharp & gv_ruby +# Language extension gv_go +golang \ +gcc-go \ +# Language extension gv_guile +guile-devel \ +# Language extension gv_java +java-devel \ +# Language extension gv_lua +lua-devel \ +# Language extension gv_ocaml +ocaml \ +# Language extension gv_perl +perl-ExtUtils-Embed \ +# Language extension gv_php +php-devel \ +# Language extension gv_python3 +python3-devel \ +# Language extension gv_R +R-devel \ +# Language extension gv_ruby +ruby-devel \ +# Language extension gv_tcl +# Required in redhat/graphviz.spec.fedora.in +libXaw-devel \ +libglade2-devel \ +mono-core \ +# Test utilities +python3-pip \ +python3-setuptools \ +# install Python dependencies +&& python3 -m pip install --user --upgrade pip \ +&& python3 -m pip install --user --requirement requirements.txt \ +# Clean up +&& yum clean all && rm -rf /var/cache/yum -- 2.40.0