Return-Path: <SRS0=tPsp=WM=lists.osgeo.org=tiff-bounces@osgeo.org>
Received: from mailfep008.skynet.be ([10.35.132.229])
          by mailafep064-svc.mx.internal
          (InterMail vM.9.07.03.022 201-2473-138-3) with ESMTP
          id <20220605111139.GWFL4010.mailafep064-svc.mx.internal@mailfep008.skynet.be>
          for <chris.lindelaan@skynet.be>; Sun, 5 Jun 2022 13:11:39 +0200
Received: from el10158.bc ([10.29.1.74]) by mailfep008.skynet.be
          (InterMail vM.8.04.03.28.4 201-2389-100-182-103-20180124)
          with ESMTP
          id <20220605111139.ZHWA7195.mailfep008.skynet.be@el10158.bc>
          for <chris.lindelaan@skynet.be>; Sun, 5 Jun 2022 13:11:39 +0200
Received: from [5.39.44.113] ([5.39.44.113])
 by el10158.bc with ngmta
 id 3cbdca72-16f5b50b96417118; Sun, 05 Jun 2022 13:11:39 +0200
Authentication-Results: mx201.skynet.be; dkim=none (message not signed) header.i=none; spf=None smtp.pra=tiff-bounces@lists.osgeo.org; spf=Pass smtp.mailfrom=SRS0=tPsp=WM=lists.osgeo.org=tiff-bounces@osgeo.org; spf=PermError smtp.helo=postmaster@lists.osgeo.org
Received-SPF: None (mx201.skynet.be: no sender authenticity
  information available from domain of
  tiff-bounces@lists.osgeo.org) identity=pra;
  client-ip=140.211.15.3; receiver=mx201.skynet.be;
  envelope-from="SRS0=tPsp=WM=lists.osgeo.org=tiff-bounces@osgeo.org";
  x-sender="tiff-bounces@lists.osgeo.org";
  x-conformance=sidf_compatible
Received-SPF: Pass (mx201.skynet.be: domain of
  SRS0=tPsp=WM=lists.osgeo.org=tiff-bounces@osgeo.org
  designates 140.211.15.3 as permitted sender)
  identity=mailfrom; client-ip=140.211.15.3;
  receiver=mx201.skynet.be;
  envelope-from="SRS0=tPsp=WM=lists.osgeo.org=tiff-bounces@osgeo.org";
  x-sender="SRS0=tPsp=WM=lists.osgeo.org=tiff-bounces@osgeo.org";
  x-conformance=sidf_compatible; x-record-type="v=spf1";
  x-record-text="v=spf1 mx a:mail.osgeo.org a:lists.osgeo.org
  a:mail.osgeo.osuosl.org ip4:140.211.15.3 a:osgeo7.osgeo.org
  a:trac.osgeo.org a:dev.trac.osgeo.org
  a:secure.osgeo.osuosl.org ip4:140.211.15.57
  ip4:140.211.15.32 ip4:140.211.15.26 ip4:140.211.15.6"
Received-SPF: PermError (mx201.skynet.be: cannot correctly
  interpret sender authenticity information from domain of
  postmaster@lists.osgeo.org) identity=helo;
  client-ip=140.211.15.3; receiver=mx201.skynet.be;
  envelope-from="SRS0=tPsp=WM=lists.osgeo.org=tiff-bounces@osgeo.org";
  x-sender="postmaster@lists.osgeo.org";
  x-conformance=sidf_compatible; x-record-type="v=spf1";
  x-record-text=""
X-Ironport-Dmarc-Check-Result: validskip
IronPort-SDR: TlcfR5q/EE/dx/tRvc98ydeV4zvWsdeop9RQ9D6Psru5NZMj0QfMQeFitUkb82qJe3XjlguarL
 YysFe5KmkMjDMDtH5ppEwAZ4vkf3LFQaC6Z16kfcuIKZeA7AZqfv+NTUrj1cCVeqTeZjR9JtLJ
 URk5+cw/rTRg/nhCugCBUWzdZl5eYD76W1CiEqCYgrBkiZFFEujEp0YEonSZkHgUiiqO285jVi
 Vq9Y1shb2mwwnFhR7BU4lP4SEbMTOSerO1BBrQ6rayPTlh83jdrjKUql7NMeorMgKXbgyPIiim
 1WSQ3FyIooAema6w3W/8+F42
X-Proximus-RemoteIp: 140.211.15.3
X-Proximus-Mfrom: SRS0=tPsp=WM=lists.osgeo.org=tiff-bounces@osgeo.org
X-Proximus-Rcpto: chris.lindelaan@skynet.be
X-IPAS-Result: =?us-ascii?q?A0G6AAAojpximAMP04xagQmDIVIZAWZXKQIBCEuNT4gNA?=
 =?us-ascii?q?xaDQI1zjRAUAQECAQEBAQEJLAsLBAEBAQIEgUYBgzQChUggBQEENBMBAgQBA?=
 =?us-ascii?q?QEBAwIDAQEBAQEBAwEBAQQBAQECAQECBAICAQECEAEBAQEBAQEBCQsJBwYMB?=
 =?us-ascii?q?RAOBTxpXwRmBl8EgXkHAzANgjUFAgMfAQZugQgBAQEBAQEBAQEBAQEBAQEBA?=
 =?us-ascii?q?QEBFgINUmYBAQEBAgEBAQEFAjAMCh4LAwIBAQIDAQIBAQEJDgMEAQEfBAQIA?=
 =?us-ascii?q?wEVDgEhAQUIAgQTBQYFgm0BgnQkAQMBCqp1eIEzgQGDTwGBHYULBiSBGY5iF?=
 =?us-ascii?q?yyCDXobgyo+gmIBBIEnIIYvIgSXJjsDCQYHBS40BQ0WgQtxAQgGBgcKBTIGA?=
 =?us-ascii?q?gwYFAQCExJTCxICEgwKHA4ORhkMDwMSAxEBBwILEggVLAgDAgMGAgMCAyMLA?=
 =?us-ascii?q?gMXCQcKAx0IChwSEBQCBBMeCwgDGR8sCQIEDgNFCAsKAxEEAxMYCxYIEAQGA?=
 =?us-ascii?q?wkvDSgLAxQPAQYDBgIFBQEDIAMUAwUnBwMhBwsmDQ0EHAcdAwMFJgMCAhsHA?=
 =?us-ascii?q?gIDAgYXBgICQDEKJg0IBAgEHB0lEAUCBzEFBC8CHgQFBhEJAhYCBgQFAgQEF?=
 =?us-ascii?q?gICEggCCCcbBxYRJRkBBRJLBgsJIRwpCwYFBhYDI1YbBQdBDyk1Nj0GIgEcm?=
 =?us-ascii?q?QM4DAMYCAETFQUUBQMQBR0NLCAdAwSBHg0tkgImJY8TnxWOdYcIgTKER4gjg?=
 =?us-ascii?q?3WMP5gnlmiNLZRPBGWEToF4gX97CjuCaBMsDwEDAg0CAQIBAgECAQICAQECA?=
 =?us-ascii?q?wEBAo4pFoNQhRSFS0EzOwIGCwEBAwmNTVmBbgEB?=
IronPort-PHdr: A9a23:/+Q2KRwiul/z4uXXCzIYwlBlVkEcU1XcAAcZ59Idhq5Udez7ptK+Z
 heZvK01xwSXFazgqNt8w9LMtK7hXWFSqb2gi1slNKJ2ahkelM8NlBYhCsPWQWfyLfrtcjBoV
 J8aDAwt8H60K1VaF9jjbFPOvHKy8SQSGhLiPgZpO+j5AIHfg9q52uyo5pHffxlEiDWzbL5zM
 R67sRjfus4KjIV4N60/0AHJonxGe+RXwWNnO1eelAvi68mz4ZBu7T1et+ou+MBcX6r6eb84T
 aFDAzQ9L281/szrugLdQgaJ+3ART38ZkhtMAwjC8RH6QpL8uTb0u+ZhxCWXO9D9QKsqUjq+8
 ahkVB7oiD8GNzEn9mHXltdwh79frB64uhBz35LYbISTOfFjfK3SYMkaSHJBUMhPSSFBDIGzY
 YUMAeUOOuhYs5Tzp0MMoBW8GAWhCv/jxSNHiHDoxq03yPghHAPJ3AA8Ad4CrGrYodPoP6kSS
 +C1y6zIwC3EYvNM3Tfy9onIch8hofyXQb1wdtfexlcrFwPElVqQs5LqMymT1usTr2iW9uxtX
 v+ghGA7sQ9+uCSvxtsyhYnTgIIY0k7I+CF3zYg7JdO1SFB2bcOlHZdNuCyXNIV7Tt0/T29np
 is0yrkLtJ+/cSYE1ZkpxxzSZfKafoWG/h/uUOifLDN+iXl4dry/gBOy/lKhyu36TsS031dKr
 jZBktbWrX8BzQDc6s+CSvZ740yv2i6P2hjO5uxLPUw4j7TXJ4M8zrIqi5YesV7PEyHulEnok
 KOaalgo9+2r5uv8frnro5yROo5ohgz7L6shh9ewDvk9PwQQX2WU5eax2bji8ED2RLhHivg7n
 6jbvZ/BJskWo7K2Dg9O3Yk47Ru0Ei2o384CnXYdKVJIYBKHgJbtO1HJOP34Cfa/g0+wkDdw3
 fzGOabhAprTIXjEirvheqx960FExAoyy9BQ+Y5UB6kcLP/8RkP9rsLUAgIkPwCu3urqCM9x2
 40GVWKKGKCZMafSsVGS5uIoJumBfJIbtirgJfQ5//PukWU3mUQFfaSx3ZQZb2i1HvBnI0WCf
 Xrsmc0NEWARvgoxUuPqj0eOUTlJZ3a9R688+jA7CIyoDYvaXY+th6GB3CGnEZJIfWBLEVeME
 Wznd4qaXPcAciWSItVukjAcU7iuUJcu1Quyuw/i17pnMu3U9zUFuZ77zth6+/XTlQ0u9TxzF
 8mSz2GNT3t1nmMTXTM22KF/oUpgxVid1ah3meZXFdpI6vNSUQc7NZjcwPJmC9zoQQ3OYITBd
 VC9X9/zAS0tVsljhJgKYl1hAJOllR/O2GytGbBSkrWKAJk99OXbx2TwIMBmjGrH2qdysl89X
 8EaMGSngrJ4pRTSCYCMiUiAiquxaYwY3TXR7yGE1mWDuwdfSgEnSrjPX30Ueh7Lq8/k7FjJV
 b6kBOcaNBBcw+6PI6dHcIjpkUleX6Wkf9DfeH6q3WCrChuPgLSWY83vcmQZ2SzbT08cjwEU+
 23BKQkwCHScpXnDBhxjHF7ieRbp+Oh6tHTpUk46wUSQYlR82qGp0hoUnuCHDfQI0b8D/iA7p
 GJvAVy/0tnKXseGvBdrZ65GYNkws2tAgCiWmBZwMdScNadyi1pROUwjsE/y/xF6GoJajY4hq
 3Z8nyRoLqfNhElFejKX3bj7PbHaLmj45h3pbaPKjAKNmO2K87sCvaxr427ouxukQw97qy0PO
 7h91mvGvsyMFwkDV5/tFEw6pFB2pLDfNy864Y6clXhhKrK9vTKK3dU1TPAkxRCtc5YXMK6NG
 ALoVcxPAc+oJb9igECnOzQDOu0a76soJ4W+bfLTxK+lMqNqmy+ghmlcyIR8yV6XsS1nRePPm
 ZEfzKLQxROJAg/1l0zpqcXrgcZBbDAWEHC4zH3fPrUJM7FKZp5eNkL7J8ys2s44gIXiVnke8
 0SsUk8H1sHscx2PaVfwxiVXzksapjqggyTrhydsnWQRo7Ca8TbUxP6qbx8bIihLSW1l2E/rO
 pSxhssGUVKAawkyiADj4l31yq8do75wR4XKaWFPeSW+b2RyCPPp8KGBcshC9NUivHcfVuP0e
 l2cRrPn6xIHzyPuGXdfzzEnZlTI8t34mRJ9kmeUMHd0qjLQZ8hxwR7V4NGUS+RW23IKQyxxi
 D+fAVbZXZHh4dSamdLJtf24XG+6fplSajXwi4Sbuya8o2pwDlz3nvy+nMHmDRlvyTXyhLwIH
 W3DqBfxZJWu1rzvaL4/OBMxXRmltowhSclkn4A9hY8dwy0fls/NpDwcknb1PMkd06+tCRhFD
 TMN3dPR5xDonUN5KXfcjbnDbS3I3vN6f4yFRzYS2zkh9IZNE6iZ6/pDhyQgvlu2o0fbZuV7l
 ToG4fw153MdxeYTt0B+q0fVSqBXBkReMSH2wl6U7t6w6a9QeWCkfKOY0EtlgcvnC6qNrwYaX
 2z2MMRHf2c4/oB0N1TC12f244fvdYzLbN4dgRaTlg/Jk+lfLJ9ZeuMivSN8Iiq9uG1/k7d9l
 h9/25ym+oKKeS1h+6ewAxgQMTOQBYtbwQvW1fNCpt2Oir+KS5FgASkQGpzzQv+vVjUIuqH7N
 giAVTc7t3GQFKH3GhSQ5UAgqGjAdvLjf32aP3gWy9x+SQLVfRAHxlpNBXNjw9hiXgmxjNTsa
 kJ4+iwc6hbjpx1Ax/gpUnu3GmbTqQG0ayslHZ2WLR5Y9AZHtA/eNc2T6P42HjkNp8H56lbUc
 yrCOkITXgRrEgSeClvuP6ej/4zF47LAX6ylLOrIbKnIo+ENMpXAjZ+pzIZi+C6Bc8uVOXw3R
 cYB4RIWQUhiA5HmvmALSjcLjGTKdMGWo1G74CIissGx/rHhXx/p7oaUI7xJPthovResju3QU
 ozYzDY8Mjte2p4WkDXz8oNHiUIqkDk7SBz4FbUbqTWLS7nfl6gRCAQUPj9yOsUN5aUh2AJAI
 ubckdz40fh/lPF/WDInHRTx38quY8INOWS0MljKUV2KOLqxLjrO28jrYKm4RO4YnKBOuha3o
 zreD177M2HJiWzyTx72e7Ip7mnTLFlEtYq6aBooFWXzUIesdEigKNEuxTgmibRmg3rLMSgbK
 jdxdAVKtLLY5HFcg+5jACpG9XVoKq+DgSn8jaGQI8QTuPpvRCNvmO9dpnMh1rxO6GdDXvM9m
 TOO/Icy+xf8y7DJk2chC1JH+DFQi4+M4gNlIqrU8d9HQ3mhnlpF5DeMER0B4dx+BdDo/adKx
 ZDGxq7+NnFe6dvfu8wHCMXTbsWdPx9DeVLgSiXZBxYfQHisLm7SgApai+yV7XnTqYI14pn0x
 MhXFucdDgVsUKpHTBk6eb5KaJZvAmF9zebd1pdRoyPj6kKLDMRC4sKeCqrUW6y2bm/Ey+MaL
 xoQneGhcdxVbNSinRU/LAcw9GjTM3LdR9VguDdmdEd0pVUXqCE4VW4i3U/5LAmgsjcYHPiym
 QJ+gQxke+km6DP9hjV/blvMuCYqiFM8hZ3+jDadfSS5JbqsXYxQFyv/tlQgepL9TQFvaASun
 EtifDneQLcZg7xlfGFtwAjS3PkHUeZbVrFBaQQMyOu/Y/QzzU8arT6oyEgB4vHKSNNjmAYsb
 Z+wvidA1gZkP7tXbeTbIKtEyEQVh7rb53PwkLpomUlHegBWoyuIdSUFuVIFLOwjN3Dwp6p36
 h2ElicFcmVfMphi6v9s6E45PPyNiiz61LsWYHuLDLTKM5uCoz3/sJuMQ0gszQUPjEZI+v5xy
 8h2b0uaWQUly6aXHBkSHc3ZJgxSKc1I+zKAGETG+fWI2p9zM4inQ6rwSvSSsa8Pnk++NAIoB
 JgXqMMaEZSrlkbCIo20SdxNgQVo7wPtKlKfCf1Pcx/eizYLrfa0y5pv1JVcLDUQUi1tdD+67
 bHNqko2keKOCZ0oN2wCUNJOZRdUEIWq3jRUtHNaAHyr3/IFnULIh9cdjiDRFyXnKd14a/qTI
 xR2B4Pokd3a26y3kkLMtJLFKGz9c9N4tY2XgQv1j5GcBP5TC75nvBWF87Q=
IronPort-Data: A9a23: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
 Ur5eyXD
IronPort-HdrOrdr: A9a23:of2cdKtpmamz6z2gUDwb/a767skDiNV00zEX/kB9WHVpmwKj+f
 xG785rsyMc7wxhK03I+OrwSJVoLkmslqKd37NhT4tKMDOLhILsFuFfBaWL+UyfJ8TVzJ8h6U
 9YG5IOd+EZ5zBB/LfHCXCDYqodKbq8gcWVbIXlvhVQpFpRGttdBm5CY27xeCBLrUt9ZKbRO6
 Dsk/avzADQAEj/G/7LYUXtMdKtmzUL/KiWGSLufyRXjDVnAluTmcXHLyQ=
X-IronPort-Anti-Spam-Filtered: true
X-MGA-submission: =?us-ascii?q?MDH6FdhWkjVGK0+85z3SJJkM7j7+blIpPZ6VJJ?=
 =?us-ascii?q?n91Cb9pScm/P3PQ+RZD4BS0mq/5lcSFWUObHyiVCAx/kg8zeLYMb1rND?=
 =?us-ascii?q?rDHQlkHqN3Xgvb5PmmRCIP1j2ebq9vdUdSN+w=3D?=
Received: from osgeo6.osgeo.osuosl.org (HELO lists.osgeo.org) ([140.211.15.3])
  by mx201.skynet.be with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jun 2022 13:11:33 +0200
Received: from osgeo6.osgeo.osuosl.org (localhost [127.0.0.1])
	by lists.osgeo.org (Postfix) with ESMTP id 9EF8061445FA;
	Sun,  5 Jun 2022 04:11:25 -0700 (PDT)
Received: from authenticated.a-painless.mh.aa.net.uk
 (authenticated.a-painless.mh.aa.net.uk [90.155.4.48])
 by lists.osgeo.org (Postfix) with ESMTPS id 9F5AA6145957
 for <tiff@lists.osgeo.org>; Sun,  5 Jun 2022 04:11:24 -0700 (PDT)
Received: from
 b.b.5.c.8.b.7.6.9.9.4.6.7.c.5.2.d.b.d.d.0.6.8.0.0.b.8.0.1.0.0.2.ip6.arpa
 ([2001:8b0:860:ddbd:25c7:6499:67b8:c5bb] helo=sorilea)
 by painless-a.thn.aa.net.uk with esmtpsa (TLS1.2) tls
 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2)
 (envelope-from <rleigh@codelibre.net>)
 id 1nxoAG-001Gw7-EH; Sun, 05 Jun 2022 12:11:23 +0100
From: <rleigh@codelibre.net>
To: "'Greg Troxel'" <gdt@lexort.com>
Cc: "'Tiff List'" <tiff@lists.osgeo.org>
References: <081e01d87833$c8fc9010$5af5b030$@codelibre.net>
 <rmi35gkhuix.fsf@s1.lexort.com>
In-Reply-To: <rmi35gkhuix.fsf@s1.lexort.com>
Date: Sun, 5 Jun 2022 12:11:09 +0100
Message-ID: <094301d878cc$fdf14a60$f9d3df20$@codelibre.net>
MIME-Version: 1.0
X-Mailer: Microsoft Outlook 16.0
Thread-Index: AQKGOycvuPxAFtg+jVPfPTSN/NC2sgF4/AELq9lOOWA=
Content-Language: en-gb
Subject: Re: [Tiff] Upgrade of CI image
X-BeenThere: tiff@lists.osgeo.org
X-Mailman-Version: 2.1.34
Precedence: list
List-Id: TIFF and libtiff discussion <tiff.lists.osgeo.org>
List-Unsubscribe: <https://lists.osgeo.org/mailman/options/tiff>,
 <mailto:tiff-request@lists.osgeo.org?subject=unsubscribe>
List-Post: <mailto:tiff@lists.osgeo.org>
List-Help: <mailto:tiff-request@lists.osgeo.org?subject=help>
List-Subscribe: <https://lists.osgeo.org/mailman/listinfo/tiff>,
 <mailto:tiff-request@lists.osgeo.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: tiff-bounces@lists.osgeo.org
Sender: "Tiff" <tiff-bounces@lists.osgeo.org>
X-VadeSecure-Score: -100
X-VadeSecure-Verdict: clean
X-VadeSecure-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedruddttddgfeejucetufdote
 ggodetrfdotffvucfrrhhofhhilhgvmecurfftqfgikffofgfunecuuegrihhlohhuthemuceftdd
 unecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpefhvfevfhgjfffkggfothfu
 phejjfdufedttgfgvghssehtjehgtddvtddvnecuhfhrohhmpeeorhhlvghighhhsegtohguvghli
 hgsrhgvrdhnvghtqeenucggtffrrghtthgvrhhnpedvleeffffhheevudeiudegkeefvddugfevhf
 elieelffeuhfejffeufeetleffleenucffohhmrghinhepghhithhlrggsrdgtohhmnecukfhpped
 ugedtrddvuddurdduhedrfedpvddttddumeeksgdtmeekiedtmeguuggsugemvdehtgejmeeigeel
 leemieejsgekmegthegssgenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtp
 edugedtrddvuddurdduhedrfedpmhgrihhlfhhrohhmpefutffutdepthfrshhppeghofeplhhish
 htshdrohhsghgvohdrohhrghepthhifhhfqdgsohhunhgtvghssehoshhgvghordhorhhgpdhnsgg
 prhgtphhtthhopedupdhrtghpthhtoheptghhrhhishdrlhhinhguvghlrggrnhesshhkhihnvght
 rdgsvgdpmhhouggvpehsmhhtph

Hi Greg,


These are all good points.  As you said, it all comes down to supporting
what is documented.  Unfortunately, that isn't too clear, and having a
reasonable set of requirements properly agreed on and documented would make
the scope for CI testing clearer.

If you look at the CI testing (example:
https://gitlab.com/libtiff/libtiff/-/pipelines/555776687), you'll see we
have a reasonable coverage of various platforms.  We test Cygwin, MinGW and
VS2019 on Windows through AppVeyor.  And we test GCC on Ubuntu Linux using
GitLab directly (and until last week, LLVM/clang on FreeBSD arm64 which I
had to offline due to the storage being knackered).  Mac OS X has no CI
coverage at present (we can add it now GitLab support it but we need to
register for it).  We could support a wider range of MSVC/Visual Studio
versions.  We don't yet test on VS2022.  We could test on VS2017 or earlier.
But every addition to the build matrix does have a maintenance burden as
well as slowing things down.  The same applies to testing multiple Linux
distributions and distribution versions.  Where do we draw the line?  What
would be "good enough"?  On top of that we test both CMake and Autotools and
if we were truly comprehensive the combinatorial explosion would be huge.
So I'm not averse to extending the coverage at all, but I do want to keep it
manageable.

One point to consider is who our primary consumers/customers are.  I'd posit
our biggest users, by a large margin, are using pre-packaged libtiff builds
provided by package managers, and that ensuring they are getting a
well-tested and usable library release has the biggest cost:benefit for our
end users and developers.  This includes all of the Linux package managers
(apt/yum/dnf/gentoo/arch), MacOS (brew and MacPorts), FreeBSD and other BSD
ports trees, and more recently vcpkg on Windows.

The main thread with all of these is that they are either rolling releases
building against a recent toolchain, or they are built against a recent
toolchain and then frozen for the lifetime of a distribution's major
release.  What we don't have is building of a new libtiff release on an
older platform (for the most part).  It ends up causing ABI breaks on LTS
releases when it conflicts with the system copy.  Look at pylibtiff for an
example of that.  So testing on current platforms is most beneficial for
ensuring that all of these consumers are getting a working release.

The other use case would be direct embedding of libtiff as a third-party
library within a larger project, or hand-building libtiff and using it
within other projects.  This is common in proprietary projects.  This is
more difficult to support since we're both unpaid volunteers and we have no
insight into what people are actually using.

I'm totally on board with adding e.g. Ubuntu 20.04 back and maybe back to
18.04 as well.  However, we do need to be somewhat restrained in how many
jobs we have in total, and which build system we test for each platform.  I
would *love* to have some data on which GCC versions people are using, so
that we have some evidence to justify what we are committing to support,
rather than blindly supporting old systems "just because".  If our primary
userbase isn't even using new versions of libtiff on older systems, the
cost:benefit would be low.

Once the new sphinx docs (rst-docs branch) are merged, I would be very happy
if we were to add a "supported platforms" page to the docs which details
this properly.  It would be great to gather comments.  I created
https://gitlab.com/libtiff/libtiff/-/issues/430 for this, so if anyone wants
to contribute any data, please feel free.


Kind regards,
Roger


-----Original Message-----
From: Greg Troxel <gdt@lexort.com> 
Sent: 05 June 2022 00:35
To: rleigh@codelibre.net
Cc: 'Tiff List' <tiff@lists.osgeo.org>
Subject: Re: [Tiff] Upgrade of CI image


<rleigh@codelibre.net> writes:

> Our current CI is based upon Ubuntu 20.04.  Now we have a new 22.04 
> LTS release out, I've added a new repository for this.  Initial MR here:
>
> https://gitlab.com/libtiff/libtiff-ci-ubuntu22.04/-/merge_requests/2

(Based on experience dealing with CI for unison, file sync not geo.)

I'm surprised by "replace 20.04 by 22.04".  To me the point of CI is to
build and run tests on all systems where tiff might reasonably run, or at
least within the scope of where the README says it ought to run.  I think
that's something like "all reasonable mostly-POSIX systems that are still
maintained, and have [minimal toolchain requirements]".  Plus probably
people use it on Windows, but I'm clueless about that :-)

In particular it's important to ensure that it still builds and works with
the oldest tools that are documented to work.  Packages that don't do that
tend to depend on things they shouldn't, like features in
gcc-N++ when N is specified, and things in Linux but not POSIX.

So I would suggest adding a job for 22.04 and leaving 20.04.  And testing on
18.04 if that's as simple as another duplication.  After that priorities
would be other CPUs and other operating systems -- but CI farms tend to be
very monoculturish, or at least triculturish.

All easier said than done, I know.   And I know nothing about gitlab CI;
my experience is with github because that's where unison was when I became
maintainer.

Greg

_______________________________________________
Tiff mailing list
Tiff@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/tiff
