From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <help-guix-bounces+larch=yhetil.org@gnu.org> Received: from mp11.migadu.com ([2001:41d0:303:e16b::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms8.migadu.com with LMTPS id aIeACKLbQ2VQAgAA9RJhRA:P1 (envelope-from <help-guix-bounces+larch=yhetil.org@gnu.org>) for <larch@yhetil.org>; Thu, 02 Nov 2023 18:25:54 +0100 Received: from aspmx1.migadu.com ([2001:41d0:303:e16b::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id aIeACKLbQ2VQAgAA9RJhRA (envelope-from <help-guix-bounces+larch=yhetil.org@gnu.org>) for <larch@yhetil.org>; Thu, 02 Nov 2023 18:25:54 +0100 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 AA724403E6 for <larch@yhetil.org>; Thu, 2 Nov 2023 18:25:53 +0100 (CET) Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=bayesians.ca header.s=protonmail2 header.b=hcYEwAFR; spf=pass (aspmx1.migadu.com: domain of "help-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="help-guix-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=quarantine) header.from=bayesians.ca ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1698945953; 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: content-transfer-encoding:content-transfer-encoding:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=wRU0KqWwRLrgD9Tlz8SrtEnUAouBiezCoPYKUZlmp4Q=; b=ad/EkltpxETQ/ZUrneNLwTXIAvSbvYfEPrFrPvAlCksiRmn0u6GoKhxOjX0i2jjnHSIkrp j86Oi59Dk2+GQSiMYGdCuXgP4VZ5Lq5OYHY1n5EToebKg+dChnRpT43RK/iu4QW75cLm3a e3NJRHbJJ3GPPmmVc6v0X3t3x2Uqa/03lKFMvrvcSTWiEQl92EiexztS6M3vw5byNyZb+/ vKeEgRzYzaF1kQrngg8XrHIJsPdOcq6mFbrSU6x/JlsKtRL61T8HIm1ComVgwkLp2hWj7z KXvvWEBOf/V7ytOwlVSVSk07A92q0ulexwYFqi9oK3C0x27SrS+zq9MrCMpC6Q== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=bayesians.ca header.s=protonmail2 header.b=hcYEwAFR; spf=pass (aspmx1.migadu.com: domain of "help-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="help-guix-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=quarantine) header.from=bayesians.ca ARC-Seal: i=1; s=key1; d=yhetil.org; t=1698945953; a=rsa-sha256; cv=none; b=IBx+7KK6FBmRdD73TtYVZenhd+2vc003ceO/bl+KZjE6mGMWIg2H4xxq6bb/fKdk3tZEh2 Y79lYOPD090pQ/9TnZSZKJR5EK8CRrcFRL+MaEDUxP6A2GInwV/ejoBxJSAhmyNdnyhIBS AL2rTxJZf/9dx4ZSNSf0iC0swc/p/NPu4LRXcmWUot6bWuNvPEBtXGAIvzg+VyBKaIHoBD knAid18UwuyPAu5Ye4jtfIN+KnLZ7/sSprzkHCHTTTII8jrxQLFD3pKPqshzZJb/TxhcsA irWZ94uo8OYB6wfu93Hl3IMpv4EiJ+CVgeHsy2FyLk/Ts3AG4MQnvlx90+/H/g== Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from <help-guix-bounces@gnu.org>) id 1qybRf-00083u-PZ; Thu, 02 Nov 2023 13:25:27 -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 <suhail@bayesians.ca>) id 1qybRe-00083R-Ct for help-guix@gnu.org; Thu, 02 Nov 2023 13:25:26 -0400 Received: from mail-40136.proton.ch ([185.70.40.136]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <suhail@bayesians.ca>) id 1qybRa-0005gY-DM for help-guix@gnu.org; Thu, 02 Nov 2023 13:25:26 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bayesians.ca; s=protonmail2; t=1698945917; x=1699205117; bh=wRU0KqWwRLrgD9Tlz8SrtEnUAouBiezCoPYKUZlmp4Q=; h=Date:To:From:Cc:Subject:Message-ID:Feedback-ID:From:To:Cc:Date: Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector; b=hcYEwAFRJzEE1bz3+hXblWbX7cYi5u4hoIPzvxkCqsIPhiNYB9iY52xpg/jrPjTuj qQHw5itp/KA4QuS+CZSCPpdbtI/l95cS+7v5FsVt9KqzG9rrdTcZltZSqNOx4YNx8B LiMMVKchj1QQGe7st1lMUJbATD9p9rOO5e7MFzOPp1GOInBkOieJ2TRIjwpaUDvstJ 73cGTWm/c5mOztvz5h+MZ9VPlBXoe4Pour0ZK0ZoUHkiQ5Mo8639XYBaVtDPjuL+SL VjWN7d3fTTsxZSiyWiMyxiruystEcFnwb9xRbhlbjtgow4UBw+0lAGWh6hD31aTZte L9vKnRF44JWMA== Date: Thu, 02 Nov 2023 17:25:13 +0000 To: Greg Hogan <code@greghogan.com> From: Suhail <suhail@bayesians.ca> Cc: Suhail <suhail@bayesians.ca>, Simon Tournier <zimon.toutoune@gmail.com>, Felix Lechner via <help-guix@gnu.org>, Julien Lepiller <julien@lepiller.eu>, Felix Lechner <felix.lechner@lease-up.com> Subject: Re: Turning off tests leads to a different store item Message-ID: <87y1fggj9q.fsf@> Feedback-ID: 38691229:user:proton MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=185.70.40.136; envelope-from=suhail@bayesians.ca; helo=mail-40136.proton.ch 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_AU=-0.1, DKIM_VALID_EF=-0.1, INVALID_MSGID=0.568, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: help-guix@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: <help-guix.gnu.org> List-Unsubscribe: <https://lists.gnu.org/mailman/options/help-guix>, <mailto:help-guix-request@gnu.org?subject=unsubscribe> List-Archive: <https://lists.gnu.org/archive/html/help-guix> List-Post: <mailto:help-guix@gnu.org> List-Help: <mailto:help-guix-request@gnu.org?subject=help> List-Subscribe: <https://lists.gnu.org/mailman/listinfo/help-guix>, <mailto:help-guix-request@gnu.org?subject=subscribe> Errors-To: help-guix-bounces+larch=yhetil.org@gnu.org Sender: help-guix-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Spam-Score: -4.69 X-Spam-Score: -4.69 X-Migadu-Queue-Id: AA724403E6 X-Migadu-Scanner: mx13.migadu.com X-TUID: 3ruZB6dPh3nz Greg Hogan <code@greghogan.com> writes: > On Thu, Nov 2, 2023 at 11:26=E2=80=AFAM Suhail <suhail@bayesians.ca> wrot= e: >> Perhaps not all. The thing that sets the "check" phase (#:tests?) apart >> from the rest is that it's an identity transform with a >> side-effect. i.e., it simply reports on the state of its input (i.e., >> the build artifact) leaving the build artifact unchanged. The only other >> phase in the gnu-build-system that is similar to the "check phase" is >> the "validate-runpath phase". > > Should this say "without side-effects"? No, I meant "with side-effect", but we have a notational difference. What is termed side-effect is context dependent, so I'll fix my terminology and make clearer what I meant. To me, the "check" phase is something that reports on the state of its input. Said report (i.e., whether or not the check phase was run, and if run what its output was) is what I was using the term "side-effect" for. Perhaps "test state metadata" would be a better term. > How does one guarantee that the test phase is free of side-effects? Translation to remove ambiguity of the term "side-effect": How does one guarantee that the test phase doesn't modify its input build artifact? This could be enforced using an overlay layer as you suggest, but we could also take a different approach. It would be sufficient to be able to distinguish well-behaved tests (those that don't alter the input build-artifact) from those that aren't (i.e., those that do alter the input build-artifact). > Alternatively, could we make it easier to record a timestamp in the > manifest for Guix to use as the build clock time? While that would address the original issue that motivated this discussion thread, it's not an alternative in the context of the current discussion. Regardless, I agree that having such a facility would be useful. While I do believe the defaults in gnu-build-system could benefit from revisiting our current treatment of the check and validate-runpath phases, advocating for that is not my primary goal with this discussion. As someone who's not well-versed in Guix internals, I am simply trying to understand what an alternate build-system (say, ds-build-system) would look like. One that allows the user/caller of a package to determine how to handle: - whether or not the tests were run, and - whether or not the tests, if run, passed Similarly for other such "phases". One application for such a build-system (which is of interest to me) would be to "package" the result of some "data"-dependent computations where the notion of what constitutes a "passing build artifact" is less clearly defined (e.g., models used for algorithmic decision-making). --=20 Suhail This email is not an offer capable of acceptance, does not evidence an intention to enter into an agreement, has no operative effect until a definitive agreement is signed in writing by both parties, and that no party should act in reliance on the email or any representations of the sender until a definitive agreement is signed in writing by both parties. This email may contain information that is privileged, confidential and/or exempt from disclosure. No waiver whatsoever is intended by sending this e-mail which is intended only for the named recipient(s). Unauthorized use, dissemination or copying is prohibited. If you receive this email in error, please notify the sender and destroy all copies of this email.