From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:403:478a::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms8.migadu.com with LMTPS id iIKoFblELmVbZQEA9RJhRA:P1 (envelope-from ) for ; Tue, 17 Oct 2023 10:24:25 +0200 Received: from aspmx1.migadu.com ([2001:41d0:403:478a::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id iIKoFblELmVbZQEA9RJhRA (envelope-from ) for ; Tue, 17 Oct 2023 10:24:25 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id B26F646382 for ; Tue, 17 Oct 2023 10:24:24 +0200 (CEST) Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20230601 header.b=B3gXEcwg; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org"; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1697531065; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=EpAkSx8Fel84Oh5bPTpACHY4Yrf4IS/GxTk75o+jLMA=; b=L2Wqc1ucHXwlAKkc4DdNTeEmQ8HS2AROl9WReCsQnrSviICxa184LLD5Sc0PmjZVfelQ3t ws9zve+S6dnLefVMDSrFiP/5BFeMJom2QyLim2c1YIRRQ9LAEJ40keQRAMAmXlXgmry4ms E4WxWzdKV03RRX/ZENPcuhth72/8DoJ/DOp8FtYAuSAMxk3u3B9TuiprP3Pn7MiQX1Hg0c 6SZ752fTeHXiEzdX/Y6ShGS5NgV9Th2UcD665F1uzb7iJYMPzRUvcJzt2cnS6AaBRHrQUh U40Rv0PviVOFg6c52r+JstXB41BK/hVmj/5LfvP0YNqv828v34ISoPZWluf8MA== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1697531065; a=rsa-sha256; cv=none; b=EFFaR16DoUyymYdFqwYgSDDBeWLVBalGt/U5uSZYpQ/bSqRbjilBnhJH5QY75/tMa9bRQo BMTb04HZiz/KLhqxB/CdSQ8rfnDBBTBHlpBer8t49krqA2wm42qsSZ0p9YWomleTSbVbPF 2OlCBGi2R6S2K7jtmyrIt/Z6Z6nbzjojCQWDMvfWFDWM20l82Ub8H9QXZw/qvArQ21qO0X zO2XomCdotX/SvdQcmmyJMfTerRaCof5p6Vx0uwSoL4ALf6GRcDHUZ22d6DZDWu7OWoqsV Yhy5nbSk9hWji5dhaI7cQtcMMS+fR7j4Ha+G0wq0tPbSry79WjTYP1SXsotm2A== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20230601 header.b=B3gXEcwg; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org"; dmarc=none Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qsemc-0003xd-72; Tue, 17 Oct 2023 03:46:30 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qsema-0003xQ-UD for guix-devel@gnu.org; Tue, 17 Oct 2023 03:46:28 -0400 Received: from mail-wr1-x433.google.com ([2a00:1450:4864:20::433]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qsemZ-0005Mz-18 for guix-devel@gnu.org; Tue, 17 Oct 2023 03:46:28 -0400 Received: by mail-wr1-x433.google.com with SMTP id ffacd0b85a97d-32da7ac5c4fso2234231f8f.1 for ; Tue, 17 Oct 2023 00:46:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1697528784; x=1698133584; darn=gnu.org; h=in-reply-to:content-disposition:mime-version:references :mail-followup-to:message-id:subject:cc:to:from:date:sender:from:to :cc:subject:date:message-id:reply-to; bh=EpAkSx8Fel84Oh5bPTpACHY4Yrf4IS/GxTk75o+jLMA=; b=B3gXEcwgBtBi1qzAjgQvWAzJ2WZ1TqFoKw2Rr0Xfv3yyFcDnu3oc+cXyJecsVqanSu HDKu7hAwX5f3TE9uYCytlPdKGPHAhNEKX1JLRF0XAIpjm9Wn4rtHO7G+yK6NBMn1Bnl2 hJyAyYkToPDmU2Hj0qSqEQqSMuYVq/+AxTRvVCdrJwAphy2PERoQZjoK71WfgpnK/za6 OmBlRps1j2TB/mB4kCHtbqxJWoDRHnSFTL32bmPUgDbEdX00XdQFyo92gDMlJ0Pc1DYD 9jEVyw8Zoslt8szdFVbIaLLip76y2TymwyNbIVSOwRLpg2Kvv63jQghzeMuBgwgAq1FI 9gsw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1697528784; x=1698133584; h=in-reply-to:content-disposition:mime-version:references :mail-followup-to:message-id:subject:cc:to:from:date:sender :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=EpAkSx8Fel84Oh5bPTpACHY4Yrf4IS/GxTk75o+jLMA=; b=cIcwnBJ6RaYTH1ltJONLvYG6XfOQ01EYImjBtCntFhKAmg5OmN140Tp9jF11nH1tVn UtNSstibRXEzukxDB6Ro3eXSDvAYhBasYnoBfXlGVhSm87adeAWSmND9rX+0Dkr7kSD1 vwKKQ8CSBKpIDI60GGz7U08Xj4qKuo8l3p/Nxmg2RegeWNvLmQ/NR3sIqvA6TFh8yC8x m2AtN0hYeIFwwqu+YF1vgQW/z/hrC8dBfkjkzTtIB2sItHT0xEYTQhQ5hIKkFnRbzjdG HfwfDtzeaC1FD3QFyYjyJ/7ef+WfvH+Gsw75e5qeGE2PrjjkeHbdQyLU9qajEWsYA0NU rgFw== X-Gm-Message-State: AOJu0Yxv4ANNoWRFM0o17/mZcBlcAaWAlpttZ+d3PilQI/XP3FY5Zn26 /LTP56d+lyBTEFPev84E71w= X-Google-Smtp-Source: AGHT+IH0+dgmEXV6PvYTdTVJr4bACXrsuyb/BqVoszKC3DIZ+Jt13sHnMW3/xaxFFi8D6qghE+qcmA== X-Received: by 2002:a5d:58e2:0:b0:32d:a29c:7323 with SMTP id f2-20020a5d58e2000000b0032da29c7323mr1432812wrd.35.1697528783773; Tue, 17 Oct 2023 00:46:23 -0700 (PDT) Received: from localhost ([31.210.180.106]) by smtp.gmail.com with ESMTPSA id v9-20020adfedc9000000b00323287186aasm1048679wro.32.2023.10.17.00.46.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Oct 2023 00:46:22 -0700 (PDT) Date: Tue, 17 Oct 2023 10:46:20 +0300 From: Efraim Flashner To: Maxim Cournoyer Cc: guix-devel@gnu.org Subject: Re: [RFC]: Skipping rust crate tests by default Message-ID: Mail-Followup-To: Maxim Cournoyer , guix-devel@gnu.org References: <87sf6awouu.fsf@gmail.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="o+WtDvqBdk0p5xhf" Content-Disposition: inline In-Reply-To: <87sf6awouu.fsf@gmail.com> X-PGP-Key-ID: 0x41AAE7DCCA3D8351 X-PGP-Key: https://flashner.co.il/~efraim/efraim_flashner.asc X-PGP-Fingerprint: A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Received-SPF: pass client-ip=2a00:1450:4864:20::433; envelope-from=efraim.flashner@gmail.com; helo=mail-wr1-x433.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.249, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.25, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: guix-devel-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Spam-Score: -3.76 X-Migadu-Queue-Id: B26F646382 X-Migadu-Scanner: mx0.migadu.com X-Migadu-Spam-Score: -3.76 X-TUID: DuHQBUddpdFa --o+WtDvqBdk0p5xhf Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Oct 16, 2023 at 11:47:53AM -0400, Maxim Cournoyer wrote: > Hi Efraim, >=20 > Efraim Flashner writes: >=20 > > Currently for for rust crates we build the crates, run the tests, and > > then in %output we only have the license files and a repackaged version > > of the source. > > > > The build system goes: > > unpack source > > unpack crates > > patch shebangs > > patch checksums of the crates > > 'build > > 'package > > 'check > > 'install > > > > 'install is clear, it does whatever the install command is. > > > > 'package repacks the source crate, after we've done any changes to it in > > the snippet and later if we've gone and patched paths to binaries or > > libraries. In theory this is useful with using these crates in a > > GUIX_ENVIRONMENT > > > > 'check runs the test suite, which fairly often seems to need some > > massaging to skip the odd test which fails or to try to skip the doc > > tests, which fail far too often. >=20 > Why do the doc tests often fail? Is something wrong on our side? As > rust aims to be fully deterministic, unless we stray too far away from > the specified input versions, it seems these failures should not happen > or be reported upstream. Addressing not just the doc tests but some of the failing tests in general: Often it is because it is an older version of a library, released for an older version of rust. Over time rust has been 'tightening' some of their allowed code patterns, meaning that while in the past tests might have passed with a warning, they now fail. There are some packages which haven't honored rust's semver guarantee as strongly as they might have, and those have resulted in some libraries failing when we upgrade some of the more heavily depended upon libraries, like serde. It's possible that we've packaged yanked versions of crates, the importer isn't as careful about that as it could be. I have a patch in the bugtracker to not import yanked crates. > > 'build sounds like it just builds the package. The first thing it does > > it makes sure that all the necessary crates are included in the build > > environment. > > > > IMO the 'build phase is the most important one, it's the one that lets > > us know if all the cargo-inputs and cargo-development-inputs are > > correct. We don't care if rust-rand-0.6 or rust-nb-connect-1 builds, we > > only care that it has the correct inputs so that when we pull it in for > > an actual binary or library everything builds correctly. > > > > I propose changing the cargo-build-system to have '#:tests? #f' by > > default and then enable them for packages which have a "clear output". > > It will keep the benefits of knowing we have the correct inputs without > > worrying about test errors we don't care about. If it fails to build > > during its own 'build phase that's actually worth looking into. It will > > also cut down the amount of time the CI spends building unneeded rust > > crates, and lets us see which ones are actually broken. >=20 > It seems useful to me to have some assurance that each crate packaged in > Guix passes its test suite, so I'm reticent to have a #:tests? #f by > default, while I sympathize with the work that is it given the sheer > amount of Rust crates. >=20 > --=20 > Thanks, > Maxim >=20 --=20 Efraim Flashner =D7=A8=D7=A0=D7=A9=D7=9C=D7=A4 = =D7=9D=D7=99=D7=A8=D7=A4=D7=90 GPG key =3D A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted --o+WtDvqBdk0p5xhf Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAmUuO8cACgkQQarn3Mo9 g1Gs5g//cMThPFYpLaD4WjUkzqtLlL2vYjdRcYNG+I1u7SEgpxHb0L6QDlLsqV2m C2+Q4KOWeChEz9xudC0/R2Gk3VIMrpw2GacRuZwNl8L6t1Aw8VTeL6PifO1mifTi ioggJEBxefF+Qf9tRav0Xa8l61w3OYBXSJtQdrIe1nzcTlSZniBrCoXqW70S8XI7 TCwjjtKkJSOLQL/VMJeWKT2pEsZCjfnCCTwpY9aYFR+UptnZ0sm6md9DN4sfWlOG /tX6hjoFUdUgfIaNstDLEwyUlAyxMEcJKKaGYMWOfZUGzD0K1TlJQ2XurimJuKkc +W57aWlugibXYsB6oDfPs3VMtN/xHzIp7QSZ8EWQdu1hSUHDolNE3zZ3J8eRsIfT 8ObbAi0K/TV49XaN6dv2UjOLHgHQNhZZZccVCYqh6B8KWL6lFjI9+T3EZYemmvX2 iq+BLtQ6gptZWFSMYUFywfDgtQVn1Neuhqg/whDxEM7YDAdao3dwi3qduC5Ks5Lk xK7XSzJQzckYTpm6h6Jh/Wybxla2Ar/0xQes8Kwu9HbPfIxOEMzBaYblVau7dVRB gwDPxb6bl4GNlR0kx14hTS5cN3FV35ry1RgaBc/2u3ncF3A8ouRncj2LMzuejbx3 80Api9co8ZZnsYdhXzI3DLvdOKBduhepBCyQdN0bhfKtTPiZmvQ= =vIy6 -----END PGP SIGNATURE----- --o+WtDvqBdk0p5xhf--