From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 71A31158232 for ; Mon, 9 Dec 2024 04:35:28 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 7DB5DE0961; Mon, 9 Dec 2024 04:35:21 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 5D464E0946 for ; Mon, 9 Dec 2024 04:35:20 +0000 (UTC) Message-ID: <6bc52fd12d7683dfba2589ab1c3351fb80f7d748.camel@gentoo.org> Subject: Re: [gentoo-dev] Re: LLVM build strategy From: =?UTF-8?Q?Micha=C5=82_G=C3=B3rny?= To: gentoo-dev@lists.gentoo.org Date: Mon, 09 Dec 2024 05:35:12 +0100 In-Reply-To: <3d7fa48e-2b92-4669-98d7-36b243c263e4@gentoo.org> References: <87f27044c599b4168d27d79367fd4b47575502c9.camel@gentoo.org> <87a5d6wza1.fsf@gentoo.org> <579176956c4663fa4f13d09530fc87ea375a592f.camel@gentoo.org> <87bjxlvog1.fsf@gentoo.org> <3d7fa48e-2b92-4669-98d7-36b243c263e4@gentoo.org> Organization: Gentoo Content-Type: multipart/signed; micalg="pgp-sha512"; protocol="application/pgp-signature"; boundary="=-q/7jF9kz7CFB+7+DX+Lp" User-Agent: Evolution 3.52.4 Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply MIME-Version: 1.0 X-Archives-Salt: 818324f3-6283-40b0-8a4d-29a75f53408d X-Archives-Hash: 3a7069b275e4ed1c410361242205577f --=-q/7jF9kz7CFB+7+DX+Lp Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Sun, 2024-12-08 at 17:23 -0500, Eli Schwartz wrote: > On 12/8/24 4:45 PM, Sam James wrote: > > > I don't like the idea of spending hours building everything before I'= m > > > even able to start running tests, just to learn that LLVM is broken > > > and there's no point in even starting to build the rest. > >=20 > > I don't follow this bit -- you need the new LLVM merged before you can > > build Clang's tests, right? And if any of it fails to build, it's not > > like we can commit the release or snapshot? > >=20 > > What am I missing on this bit? >=20 >=20 > I think the point here is that currently, one can build sys-devel/llvm > with tests enabled, and if it fails, there's no point in also building > sys-devel/clang. But with a monorepo build, you'd have to build llvm, > clang (and various others) first, and then launch tests for llvm and > clang together, only to get a test failure in the llvm tests that > indicates everything else is broken too. Depending on cmake test > ordering, you may also run half the clang tests before hitting the llvm > failures, even. Exactly. You have to compile everything first, before you start testing anything. And I don't think testing order is predictable either. I mean, technically we could just issue check-llvm, check-clang, and so on manually, but that's going to be messy and I'm not even sure if I can figure out all the correct targets to avoid duplication. And if you think we could hack this around by stubbing src_compile() and having tests compile things component after component... the dependencies are pretty much broken everywhere, and you do need to compile everything before you run check-* targets. > In theory this could be solved by building monorepo-llvm with > FEATURES=3Dtest USE=3D"-clang" to start running tests, and then if that > passes, rebuild llvm again but this time with clang etc. enabled. Not > sure this is actually solving the stated objection... ccache will save most of the time on rebuilding the same things (except for tablegen or sphinx, which are pretty slow too), but you'd still be rerunning the same tests. --=20 Best regards, Micha=C5=82 G=C3=B3rny --=-q/7jF9kz7CFB+7+DX+Lp Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- iQFGBAABCgAwFiEEx2qEUJQJjSjMiybFY5ra4jKeJA4FAmdWc4ASHG1nb3JueUBn ZW50b28ub3JnAAoJEGOa2uIyniQOryoIAIMuVxBFzozg2XYiRuQWlhvFVQvyH1zg 0IQ55cHcmVa3+hUq449Op0Y6tITUDAgpsJy2saDIqOQ/FX5R6qZGSGnRhygcNaO7 GDqDdAIh4WhsOkRX4UdI74HaNpWkskPI1ezGqKr3CsOZWglt2eYEn8Z8nTJGJdwz Ne5UyVwz8GirDpE+vLQ15am5pBcuh7vK3GA0vL7H8t00F3qmzMlhAI/befDZq2mh C5bA55iTrzjt/lSaSYHolKkNnMzZ/OAZ6eOXcocj4rTM2GZtQeUigAdrbi8KvhUl T2ajDORWzFGIciQVZdSOM1jTsVSQEAMoBAwZKD5DwIHZwq0bx8nkN0U= =UaYJ -----END PGP SIGNATURE----- --=-q/7jF9kz7CFB+7+DX+Lp--