Merge ~athos-ribeiro/ubuntu/+source/squid:halt-build-on-test-failures-kinetic into ubuntu/+source/squid:applied/ubuntu/kinetic-devel

Proposed by Athos Ribeiro
Status: Superseded
Proposed branch: ~athos-ribeiro/ubuntu/+source/squid:halt-build-on-test-failures-kinetic
Merge into: ubuntu/+source/squid:applied/ubuntu/kinetic-devel
Diff against target: 87 lines (+36/-3)
4 files modified
debian/changelog (+14/-0)
debian/patches/series (+3/-1)
debian/rules (+15/-2)
debian/tests/upstream-test-suite (+4/-0)
Reviewer Review Type Date Requested Status
Bryce Harrington (community) Needs Fixing
Canonical Server Reporter Pending
Review via email: mp+436605@code.launchpad.net

This proposal has been superseded by a proposal from 2023-02-03.

Description of the change

As it is being discussed in [1], squid builds will not halt upon upstream unit test failures during dh_auto_test. This could hinder the squid MRE test plan process [2].

This MP proposes a patch set to force squid builds to fail upon test failures. It also includes additional changes to ensure build time and autopkgtests are also passing for those upstream tests.

This is the kinetic SRU for the change applied in lunar in [3]

[1] https://lists.ubuntu.com/archives/ubuntu-release/2023-January/005522.html
[2] https://wiki.ubuntu.com/SquidUpdates
PPA: https://launchpad.net/~athos-ribeiro/+archive/ubuntu/squid-halt-build-on-test-failures/+packages
[3] https://code.launchpad.net/~athos-ribeiro/ubuntu/+source/squid/+git/squid/+merge/436437

autopkgtest run for the ppa above:

* Results:
  - squid/5.6-1ubuntu4~ppa2
    + ✅ squid on kinetic for amd64 @ 31.01.23 14:52:41 Log️ 🗒️
    + ✅ squid on kinetic for arm64 @ 31.01.23 15:18:39 Log️ 🗒️
    + ❌ squid on kinetic for armhf @ 31.01.23 14:28:20 Log️ 🗒️
      • upstream-test-suite PASS 🟩
      • squid FAIL 🟥
    + ✅ squid on kinetic for ppc64el @ 31.01.23 14:36:17 Log️ 🗒️
    + ✅ squid on kinetic for s390x @ 31.01.23 14:26:15 Log️ 🗒️

Do note that the armhf failure is not a regression: https://autopkgtest.ubuntu.com/packages/s/squid/kinetic/armhf

To post a comment you must log in.
Revision history for this message
Athos Ribeiro (athos-ribeiro) wrote :

Note that I already have

- verified that the s390x LTO change is needed here; and
- tested a build without removing the 0003 patch, which did lead to a build failure due to failing tests, as expected.

Revision history for this message
Bryce Harrington (bryce) wrote :

Should this be targeting the applied branch? Or am I confused?

With this targeting kinetic, should version number be 5.6-1ubuntu3.1?

review: Needs Fixing

Unmerged commits

ef1d7d1... by Athos Ribeiro

Update changelog

a29e530... by Athos Ribeiro

    - d/rules: disable LTO for s390x builds.

77e79bd... by Athos Ribeiro

    - d/t/upstream-test-suite: use installed squid binary for
      autopkgtest config file checks.

8b054a4... by Athos Ribeiro

    - d/rules: do not include additional configuration files during
      build time tests. This would lead to test failures due to missing
      paths.

88d0b52... by Athos Ribeiro

    - d/rules: halt build upon test failures.

2149223... by Athos Ribeiro

    - d/p/series: do not rely on installed binaries for build time tests.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
diff --git a/debian/changelog b/debian/changelog
index 9bd5a20..67a6796 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,17 @@
1squid (5.6-1ubuntu4) kinetic; urgency=medium
2
3 * Make builds fail when upstream test suite fails (LP: #2004050):
4 - d/p/series: do not rely on installed binaries for build time tests.
5 - d/rules: halt build upon test failures.
6 - d/rules: do not include additional configuration files during
7 build time tests. This would lead to test failures due to missing
8 paths.
9 - d/t/upstream-test-suite: use installed squid binary for
10 autopkgtest config file checks.
11 - d/rules: disable LTO for s390x builds.
12
13 -- Athos Ribeiro <athos.ribeiro@canonical.com> Mon, 30 Jan 2023 20:12:50 -0300
14
1squid (5.6-1ubuntu3) kinetic; urgency=medium15squid (5.6-1ubuntu3) kinetic; urgency=medium
216
3 * SECURITY UPDATE: Exposure of Sensitive Information in Cache Manager17 * SECURITY UPDATE: Exposure of Sensitive Information in Cache Manager
diff --git a/debian/patches/series b/debian/patches/series
index 3c055ad..2184d3e 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,6 +1,8 @@
10001-Default-configuration-file-for-debian.patch10001-Default-configuration-file-for-debian.patch
20002-Change-default-file-locations-for-debian.patch20002-Change-default-file-locations-for-debian.patch
30003-installed-binary-for-debian-ci.patch3# Do not use installed binary during build time since they are not yet
4# available. Do not apply the patch below.
5# 0003-installed-binary-for-debian-ci.patch
40005-Use-RuntimeDirectory-to-create-run-squid.patch60005-Use-RuntimeDirectory-to-create-run-squid.patch
50006-Fix-build-against-OpenSSL-3-0.patch70006-Fix-build-against-OpenSSL-3-0.patch
690-cf.data.ubuntu.patch890-cf.data.ubuntu.patch
diff --git a/debian/rules b/debian/rules
index 85d55f3..365a786 100755
--- a/debian/rules
+++ b/debian/rules
@@ -1,6 +1,11 @@
1#! /usr/bin/make -f1#! /usr/bin/make -f
22
3export DEB_BUILD_MAINT_OPTIONS = hardening=+all3export DEB_BUILD_MAINT_OPTIONS = hardening=+all
4
5ifeq ($(DEB_HOST_ARCH), s390x)
6 DEB_BUILD_MAINT_OPTIONS += optimize=-lto
7endif
8
4export DEB_CFLAGS_MAINT_APPEND = -Wno-error=deprecated-declarations9export DEB_CFLAGS_MAINT_APPEND = -Wno-error=deprecated-declarations
5export DEB_CXXFLAGS_MAINT_APPEND = -Wno-error=deprecated-declarations10export DEB_CXXFLAGS_MAINT_APPEND = -Wno-error=deprecated-declarations
611
@@ -89,9 +94,17 @@ override_dh_auto_build:
89 dh_auto_build94 dh_auto_build
90 cd debian/build-openssl && dh_auto_build95 cd debian/build-openssl && dh_auto_build
9196
97execute_before_dh_auto_test:
98 # Do not include additional configuration files during tests. This would lead to failures due to missing paths.
99 sed -i 's|^\(include /etc/squid/conf\.d/\*\.conf\)|# \1|' src/squid.conf.default debian/build-openssl/src/squid.conf.default
100
92override_dh_auto_test:101override_dh_auto_test:
93 -dh_auto_test102 dh_auto_test
94 -cd debian/build-openssl && dh_auto_test103 cd debian/build-openssl && dh_auto_test
104
105execute_after_dh_auto_test:
106 # Restore configuration file to its previous state.
107 sed -i 's|^# \(include /etc/squid/conf\.d/\*\.conf\)|\1|' src/squid.conf.default debian/build-openssl/src/squid.conf.default
95108
96override_dh_auto_install:109override_dh_auto_install:
97 dh_auto_install110 dh_auto_install
diff --git a/debian/tests/upstream-test-suite b/debian/tests/upstream-test-suite
index b6c9495..d503788 100644
--- a/debian/tests/upstream-test-suite
+++ b/debian/tests/upstream-test-suite
@@ -5,6 +5,10 @@ export DEB_CFLAGS_MAINT_APPEND="-Wno-error=deprecated-declarations"
5export DEB_CXXFLAGS_MAINT_APPEND="-Wno-error=deprecated-declarations"5export DEB_CXXFLAGS_MAINT_APPEND="-Wno-error=deprecated-declarations"
66
7dpkg-source --before-build `pwd`7dpkg-source --before-build `pwd`
8
9# Use installed squid binary
10sed -i 's|\$(top_builddir)/src/squid -k parse|/usr/sbin/squid -k parse|' test-suite/Makefile.am test-suite/Makefile.in
11
8dh_update_autotools_config12dh_update_autotools_config
9dh_autoreconf13dh_autoreconf
10dh_auto_configure -- ${DEB_CONFIGURE_EXTRA_FLAGS} --with-gnutls14dh_auto_configure -- ${DEB_CONFIGURE_EXTRA_FLAGS} --with-gnutls

Subscribers

People subscribed via source and target branches