[gparted/9-ci-test-jobs-occassionally-fail-with-xmllint-not-loading-external-entity-http-scrollkeeper-sourceforge-net-dtds-scrollkeeper-omf-1-0-scrollkeeper-omf-dtd] Stop xmllint scrollkeeper-omf.dtd fetch failure breaking CI tests (#9)
- From: Mike Fleetwood <mfleetwo src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gparted/9-ci-test-jobs-occassionally-fail-with-xmllint-not-loading-external-entity-http-scrollkeeper-sourceforge-net-dtds-scrollkeeper-omf-1-0-scrollkeeper-omf-dtd] Stop xmllint scrollkeeper-omf.dtd fetch failure breaking CI tests (#9)
- Date: Tue, 24 Jul 2018 22:13:08 +0000 (UTC)
commit cbb25a2511ec9e355b4dbba288689bbc00b7af65
Author: Mike Fleetwood <mike fleetwood googlemail com>
Date: Tue Jul 24 21:56:06 2018 +0100
Stop xmllint scrollkeeper-omf.dtd fetch failure breaking CI tests (#9)
The GitLab Continuous Integration test stage jobs can fail like this:
$ make check
...
Making check in help
make[1]: Entering directory `/builds/mfleetwo/gparted/help'
...
xmllint --noout --xinclude --dtdvalid
'http://scrollkeeper.sourceforge.net/dtds/scrollkeeper-omf-1.0/scrollkeeper-omf.dtd' gparted-C.omf
warning: failed to load external entity
"http://scrollkeeper.sourceforge.net/dtds/scrollkeeper-omf-1.0/scrollkeeper-omf.dtd"
Could not parse DTD http://scrollkeeper.sourceforge.net/dtds/scrollkeeper-omf-1.0/scrollkeeper-omf.dtd
xmllint --noout --xinclude --dtdvalid
'http://scrollkeeper.sourceforge.net/dtds/scrollkeeper-omf-1.0/scrollkeeper-omf.dtd' gparted-cs.omf
...
make[1]: *** [check-doc-omf] Error 2
make[1]: Leaving directory `/builds/mfleetwo/gparted/help'
make: *** [check-recursive] Error 1
ERROR: Job failed: exit code 1
It fails when the scrollkeeper.sourceforge.net site reports that
SourceForge is undergoing maintenance or is temporarily unavailable. I
have seen this occur on 3 separate occasions in the last 4 weeks since I
started experimenting with GitLab CI, which is rather too often.
Xmllint comes from the GNOME 2 gnome-doc-utils.make rules used to build
and validate GNOME 2 documentation.
Fragment of useful Debian bug report 730688:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=730688
--disable-scrollkeeper requieres scrollkeeper installed
"You can reproduce the problem in mdbtoools version 0.7.1-1 with no
network, and rarian-compat not installed.
When the network is available, buildd downloads the DTD for checks.
When there is no network, gnome-doc-utils fails.
"
Fix by:
(1) adding the rarian-compat package to the CI Docker images, which
provides a local copy of the scrollkeeper-omf.dtd file;
(2) adding the xmllint --nonet option to prevent fetching of DTDs
remotely.
With reference to earlier commit:
0eb9f1fcfb2a438ecd85ad7e526f0ec3d01e2da6
Reduce dependency on scrollkeeper (#743318)
That commit allowed GParted to be installed on GNOME 3 desktops without
requiring rarian-compat package to be installed. This commit adds
rarian-compat to the CI images so that 'make check' can succeed without
accessing the Internet. Just the intricate path to continue to build
and test a GNOME 2 application in a world of GNOME 3 desktops with
beginning to be reduced backward compatibility.
Closes #9 - CI test jobs occasionally fail with xmllint not loading
external entity http://scrollkeeper.sourceforce.net/dtds/
scrollkeeper-omf-1.0/scrollkeeper-omf.dtd
.gitlab-ci.yml | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
---
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index a3444ff8..e6aa8e03 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -9,7 +9,7 @@ stages:
- yum update -y
- yum install -y which gnome-common gnome-doc-utils glib2-devel intltool
gcc-c++ libuuid-devel parted-devel gtkmm24-devel make
- polkit file
+ polkit file rarian-compat
.ubuntu_image_template: &ubuntu_image_definition
# Use official Ubuntu image https://hub.docker.com/_/ubuntu/.
@@ -18,7 +18,7 @@ stages:
- apt-get update
- apt-get install -y gnome-common gnome-doc-utils libglib2.0-dev-bin
uuid-dev libparted-dev libgtkmm-2.4-dev make
- policykit-1
+ policykit-1 rarian-compat
.build_stage_template: &build_stage_definition
stage: build
@@ -35,6 +35,8 @@ stages:
- ./autogen.sh
- nproc=`grep -c '^processor' /proc/cpuinfo` || nproc=1
- echo nproc=$nproc
+ # Prevent xmllint fetching scrollkeeper DTD file remotely.
+ - sed -i '/xmllint.*http.*scrollkeeper-omf.dtd/s|xmllint |xmllint --nonet |' help/Makefile
- make -j $nproc
# Exclude specific unit test which fails without /dev/disk in Docker images.
- export GTEST_FILTER='-BlockSpecialTest.NamedBlockSpecialObjectBySymlinkMatches'
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]