Re: CI setup

Simon Josefsson via Bug reports for the GNU Internet utilities <[email protected]> Tue, 05 Aug 2025 08:23:53 +0200
Newsgroups gmane.comp.gnu.inetutils.bugs
Message-ID <[email protected]>
Bruno Haible via Bug reports for the GNU Internet utilities
<[email protected]> writes:

> Simon Josefsson wrote:
>> My view is changing towards seeing gnulib like just any other build-time
>> dependency.  We are using versioned build dependencies of
>> Trisquel/Guix/Debian/RHEL and autoconf, automake, help2man, etc in CI/CD
>> because we want to test those versions.  We aren't using bleeding edge
>> autoconf, automake, etc in CI/CD when building inetutils.  So using a
>> specific gnulib commit seems to match how we treat all other build
>> dependencies.
>
> That's a valid way to see things, yes. Some time ago, Tim Rühsen configured
> the Gnulib CI to use the bleeding edge Debian. But I don't want to spend
> time debugging Debian, therefore I picked a fixed Debian release instead.

Yes, I've had this challenge too and after going back and forth between
use of stable and testing OS releases a couple of time, I realized that
both have their use.  I now add jobs for both pinned version releases
(because that's what users tends to use and what I want to check works)
and testing/rolling releases (to catch early regressions before they hit
released versions).  Then during times where Debian testing is
completely broken, I can just ignore the failing jobs, and still have
passing jobs that give confidence in any patches.

>> However I do agree with you about the utility of ALSO building inetutils
>> with bleeding edge gnulib.
>
> Implemented through
> https://github.com/gnu-inetutils/ci-check/commit/b68ebfb39d74809422cf8452aefc7309f0b6940e
> Let's see how it works...

Nice!  I hope to add a use-latest-gnulib CI job to gitlab too.  For the
remote possibility that gnulib master is known buggy for a some extended
set of time, having the inetutils CI not test intended gnulib commit
depending on which day it is running may be a bit annoying when fixing
things and desiring a predictable CI.  But we'll see.

There are already similar issues around midnight, if you prepare a 'make
release' tarball at 23:59 in one CI/CD job and another 'make release'
tarball at 00:01 in another CI/CD job, the tarballs could end up being
different due to embedded build-time dates.  I think I have fixed most
glaring examples of this in some projects, and it was some months ago it
last happened.  The take away is that build time should not matter: when
there is a desire to look at timestamps, derive it from the latest git
commit time instead.

/Simon
signature.asc (application/pgp-signature, 1.2 KB)
-----BEGIN PGP SIGNATURE-----

iQNoBAEWCAMQFiEEo8ychwudMQq61M8vUXIrCP5HRaIFAmiRo3oUHHNpbW9uQGpv
c2Vmc3Nvbi5vcmfCHCYAmDMEXJLOtBYJKwYBBAHaRw8BAQdACIcrZIvhrxDBkK9f
V+QlTmXxo2naObDuGtw58YaxlOu0JVNpbW9uIEpvc2Vmc3NvbiA8c2ltb25Aam9z
ZWZzc29uLm9yZz6IlgQTFggAPgIbAwULCQgHAgYVCAkKCwIEFgIDAQIeAQIXgBYh
BLHSvRN1vst4TPT4xNc89jjFPAa+BQJn0XQkBQkNZGbwAAoJENc89jjFPAa+BtIA
/iR73CfBurG9y8pASh3cbGOMHpDZfMAtosu6jbpO69GHAP4p7l57d+iVty2VQMsx
+3TCSAvZkpr4P/FuTzZ8JZe8BrgzBFySz4EWCSsGAQQB2kcPAQEHQOxTCIOaeXAx
I2hIX4HK9bQTpNVei708oNr1Klm8qCGKiPUEGBYIACYCGwIWIQSx0r0Tdb7LeEz0
+MTXPPY4xTwGvgUCZ9F0SgUJDWRmSQCBdiAEGRYIAB0WIQSjzJyHC50xCrrUzy9R
cisI/kdFogUCXJLPgQAKCRBRcisI/kdFoqdMAQCgH45aseZgIrwKOvUOA9QfsmeE
8GZHYNuFHmM9FEQS6AD6A4x5aYvoY6lo98pgtw2HPDhmcCXFItjXCrV4A0GmJA4J
ENc89jjFPAa+wUUBAO64fbZek6FPlRK0DrlWsrjCXuLi6PUxyzCAY6lG2nhUAQC6
qobB9mkZlZ0qihy1x4JRtflqFcqqT9n7iUZkCDIiDbg4BFySz2oSCisGAQQBl1UB
BQEBB0AxlRumDW6nZY7A+VCfek9VpEx6PJmdJyYPt3lNHMd6HAMBCAeIfgQYFggA
JgIbDBYhBLHSvRN1vst4TPT4xNc89jjFPAa+BQJn0XTSBQkNZGboAAoJENc89jjF
PAa+0M0BAPPRq73kLnHYNDMniVBOzUdi2XeF32idjEWWfjvyIJUOAP4wZ+ALxIeh
is3Uw2BzGZE6ttXQ2Q+DeCJO3TPpIqaXDAAKCRBRcisI/kdFomzJAP9ahYSr52qN
o/QMUv9Zj6CoUFrDamN+3kgOpqDJTRcHawD/e6ps7W/sIC79tMi84ZeEcCK7oLGH
H05/lUvnyT6sWQM=
=zSxa
-----END PGP SIGNATURE-----