From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.migadu.com ([2001:41d0:306:2d92::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms8.migadu.com with LMTPS id sO6YJ1dbLWVi3QAAauVa8A:P1 (envelope-from ) for ; Mon, 16 Oct 2023 17:48:39 +0200 Received: from aspmx1.migadu.com ([2001:41d0:306:2d92::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id sO6YJ1dbLWVi3QAAauVa8A (envelope-from ) for ; Mon, 16 Oct 2023 17:48:39 +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 6D0A732E2A for ; Mon, 16 Oct 2023 17:48:39 +0200 (CEST) Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=lSKDhQ4A; 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=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1697471319; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to: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=CqsfxD9Mm+RBnFbuvpUy5/YIwiqhm65qXtu/Lw4Syv0=; b=fwsMRne+BjNPE40eiCcFsAFCLINvAGwehPZJfLLk7jn5QeqYKBZTbrgRbtv1Fh3jLm0zfo 6YGKb1aqkBN4U8dK6VwQjnLLDx3ny18T+QXX8xL1UkDFMU+P2+Ju1ufP1tyP4EU+RwcQ9K r4Rk3vQx7pbeZi0YScuXXCReJr8UqeqDQj7ODgtFA1OYwncP4pm1v7Y9tuxiNylyWyVUg1 874fiST3z/NI4pqr60LFE4+Q2+YgmELDKPRAtVCFm6thwXVon45FpI8k4KYYBItOXrAwst uxiXMfc0ro68r4v57/QveC/T8nbFVyjyKf47X4EeA5hxxZzBQsXLaiWZgp+O6g== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=lSKDhQ4A; 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=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=key1; d=yhetil.org; t=1697471319; a=rsa-sha256; cv=none; b=rk0qAInaccXfxe8MUfDFfnOyiLafnAUbtnOi91OemP6fDJFMw9a79H+L9OpUSljIgoimgz iDjGUOyDuO6F2HReDfcLqoawIK4sqVyo0paYzLlknl6TdY/XGVn5MTy5+JSCxImNexqDRR 93nMxuXzSIo6MyaJcJziY3CVT5vgT9aHFqPwSjT3ag4UzDLkoHE4h5hB0fw0u8emeFbPb0 mO6lWIkr6UDACnFHYrUWJEb4RoJpNd8albLnf0QdGN1zu7vWYZF1IT1I4hX2dIoemyvAkc ddwOGD+z28eOjbSa7F0EnrPLWBaHgZw5ouB1pWXTCiJ3Puyqix03V6iBWZX+zg== Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qsPp1-000740-Kg; Mon, 16 Oct 2023 11:47:59 -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 1qsPp0-00072z-0T for guix-devel@gnu.org; Mon, 16 Oct 2023 11:47:58 -0400 Received: from mail-qv1-xf2b.google.com ([2607:f8b0:4864:20::f2b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qsPoy-00083u-Fd for guix-devel@gnu.org; Mon, 16 Oct 2023 11:47:57 -0400 Received: by mail-qv1-xf2b.google.com with SMTP id 6a1803df08f44-66d03491a1eso24802906d6.2 for ; Mon, 16 Oct 2023 08:47:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1697471275; x=1698076075; darn=gnu.org; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:to:from:from:to:cc:subject:date:message-id:reply-to; bh=CqsfxD9Mm+RBnFbuvpUy5/YIwiqhm65qXtu/Lw4Syv0=; b=lSKDhQ4AICubQbAyGHTZ8mVmO52J8ptydsQThJNa4PjAWMKs3USp8zRT2iCZZntyl+ 5ezoWihPsCNIHsPekbw16t+6VaReCUybRsLC0JAwfI3TrOKk2tcqcgq/eL1PuROvf+Q7 +SoDV8+3nj83KdR6CG1b4T1y8ZfdLdAoj062a1ExPRPDLzK9F5HzLE/GcQyzrEqKtKyD +KGFvkTBegyKTtfwTjF5GllWuoYu9e3JJgyjAtnBFZbTU2MhjSN9wUVoFLOyoorMh2St k9twFkTbG7J578bHw2BO/lFNYyC1PUs9kGeA3yviSC3idP8KLeE4AG5aqS6KPo4ywJ+S mMyA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1697471275; x=1698076075; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=CqsfxD9Mm+RBnFbuvpUy5/YIwiqhm65qXtu/Lw4Syv0=; b=tqStduIxaBXcUn8roteFSnveW9ODCBeXB2yYglXFtSLHoIedFDL9xpo2dMsTxsb+xa Ypi3DfMEr1F+BRn5gZXjKthH754a/NxQNUqV8cfZYTpjlC2Wz8jScXyahV0j4Ag+gznN qTSo7PW22wd7VQcC9bfmM7yklZTnV6ksO3ylleFpS63z4OxDDTVYehhgu/ccT7cExlNT cxVV0Jt7WxN3sEBM4Jid+WqtJpyiOBhKfbx175UW1rtfsrveW6rq45i5+G8e2dmtlxrX a0jlIH3KE64s+jTMy5zsTL4vrBlx4JCmJN56hyYCazbzz8jq/Mj2PikkxZe2ekB6TO3r bFkw== X-Gm-Message-State: AOJu0YxFCA0A2M9LkwDJlfSafuTb3Zv4i+a00Pyy4crwYhlJ74m3eM1J NhJp9t3LM1iyLn7fC3JA1MZ5OCECWecWUQ== X-Google-Smtp-Source: AGHT+IFC0YiPXv73Ej/unraT39u4Y3/g4QqHcjFZ8737dIqFJMSaqlGIUTAlNqQsDEvgdGj2n9D/Pw== X-Received: by 2002:ad4:4bcd:0:b0:658:41ee:faf2 with SMTP id l13-20020ad44bcd000000b0065841eefaf2mr31103226qvw.23.1697471274913; Mon, 16 Oct 2023 08:47:54 -0700 (PDT) Received: from hurd (dsl-10-149-74.b2b2c.ca. [72.10.149.74]) by smtp.gmail.com with ESMTPSA id bo1-20020a05621414a100b0066d15724feesm3453205qvb.68.2023.10.16.08.47.54 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Oct 2023 08:47:54 -0700 (PDT) From: Maxim Cournoyer To: guix-devel@gnu.org Subject: Re: [RFC]: Skipping rust crate tests by default In-Reply-To: (Efraim Flashner's message of "Thu, 5 Oct 2023 15:52:46 +0300") References: Date: Mon, 16 Oct 2023 11:47:53 -0400 Message-ID: <87sf6awouu.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=2607:f8b0:4864:20::f2b; envelope-from=maxim.cournoyer@gmail.com; helo=mail-qv1-xf2b.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham 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-Country: US X-Migadu-Flow: FLOW_IN X-Migadu-Spam-Score: -9.45 X-Spam-Score: -9.45 X-Migadu-Queue-Id: 6D0A732E2A X-Migadu-Scanner: mx2.migadu.com X-TUID: Bc/jUkcZnCMx Hi Efraim, Efraim Flashner writes: > 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. 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. > '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. 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. -- Thanks, Maxim