all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Leo Famulari <leo@famulari.name>
To: John Kehayias <john.kehayias@protonmail.com>
Cc: guix-devel@gnu.org
Subject: Re: Golang go-updates feature branch?
Date: Tue, 10 Jan 2023 00:09:54 -0500	[thread overview]
Message-ID: <Y7zzIiOLt7ndaO6r@jasmine.lan> (raw)
In-Reply-To: <87h6x0ac90.fsf@protonmail.com>

[-- Attachment #1: Type: text/plain, Size: 5558 bytes --]

On Sun, Jan 08, 2023 at 10:32:36PM +0000, John Kehayias wrote:
> Heartily agree here. This has come up a few times on #guix and generally with support (don't let me speak for everyone though). I think the idea of smaller and more frequent feature branches is a great idea: less code changes coming to master to review at once (compared to big core-updates merges), substitutes and closer to master to be easier for people to pull the branch and test, and some areas despite the number of builds would work nicely as a branch than just pushed (and lingering) into core-updates for much later.

I agree with all your points. We used to work this way back in the day
when there weren't very many Guix packages. There was always a
'core-updates' job, but if it was limited to packages that truly are
"core". Then, for several years, the build farm was underpowered
relative to the number of packages and it became impractical. I think we
are past that now.

I've attached a couple patches to get started but I need help getting
them to work.

There is 'etc/go-manifest.scm', which does work with `guix package -m
etc/go-manifest.scm --dry-run`.

And there is a diff for 'build-aux/cuirass/evaluate.scm', so that I can
test it with `make cuirass-jobs`.

But, `make cuirass-jobs` crashes with this manifest and I don't know
why:

------
$ make cuirass-jobs
Compiling Scheme modules...
Compiling Scheme modules...
Compiling Scheme modules...
Compiling Scheme modules...
Compiling Scheme modules...
rm -rf "cuirass-jobs"
  GEN      cuirass-jobs
Computing Guix derivation for 'x86_64-linux'... /
In thread:
uncaught throw to %exception: (#<&inferior-exception arguments: (wrong-type-arg "primitive-load" "Wrong type argument in position ~A (expecting ~A): ~S" (1 "string" #f) (#f)) inferior: #<inferior pipe (0 1 1) 7f28f3ffd780> stack: ((#f ("ice-9/boot-9.scm" 1779 13)) (raise-exception ("ice-9/boot-9.scm" 1682 16)) (raise-exception ("ice-9/boot-9.scm" 1684 16)) (primitive-load (#f #f #f)) (save-module-excursion ("ice-9/boot-9.scm" 2835 4)) (#f (#f #f #f)) (map1 ("srfi/srfi-1.scm" 585 17)) (append-map ("srfi/srfi-1.scm" 672 15)) (#f ("gnu/ci.scm" 449 8)) (map1 ("srfi/srfi-1.scm" 585 17)) (append-map ("srfi/srfi-1.scm" 672 15)) (cuirass-jobs ("gnu/ci.scm" 489 4)) (#f ("ice-9/eval.scm" 158 9)) (with-exception-handler ("ice-9/boot-9.scm" 1751 10)) (call-with-prompt ("ice-9/boot-9.scm" 723 2)) (#f (#f #f #f)) (#f ("guix/repl.scm" 98 21)) (with-exception-handler ("ice-9/boot-9.scm" 1751 10)) (with-exception-handler ("ice-9/boot-9.scm" 1746 15)) (#f ("guix/repl.scm" 125 7)))>)
In thread:
uncaught throw to %exception: (#<&inferior-exception arguments: (wrong-type-arg "primitive-load" "Wrong type argument in position ~A (expecting ~A): ~S" (1 "string" #f) (#f)) inferior: #<inferior pipe (0 1 1) 7f28f3ffd740> stack: ((#f ("ice-9/boot-9.scm" 1779 13)) (raise-exception ("ice-9/boot-9.scm" 1682 16)) (raise-exception ("ice-9/boot-9.scm" 1684 16)) (primitive-load (#f #f #f)) (save-module-excursion ("ice-9/boot-9.scm" 2835 4)) (#f (#f #f #f)) (map1 ("srfi/srfi-1.scm" 585 17)) (append-map ("srfi/srfi-1.scm" 672 15)) (#f ("gnu/ci.scm" 449 8)) (map1 ("srfi/srfi-1.scm" 585 17)) (append-map ("srfi/srfi-1.scm" 672 15)) (cuirass-jobs ("gnu/ci.scm" 489 4)) (#f ("ice-9/eval.scm" 158 9)) (with-exception-handler ("ice-9/boot-9.scm" 1751 10)) (call-with-prompt ("ice-9/boot-9.scm" 723 2)) (#f (#f #f #f)) (#f ("guix/repl.scm" 98 21)) (with-exception-handler ("ice-9/boot-9.scm" 1751 10)) (with-exception-handler ("ice-9/boot-9.scm" 1746 15)) (#f ("guix/repl.scm" 125 7)))>)
In thread:
uncaught throw to %exception: (#<&inferior-exception arguments: (wrong-type-arg "primitive-load" "Wrong type argument in position ~A (expecting ~A): ~S" (1 "string" #f) (#f)) inferior: #<inferior pipe (0 1 1) 7f28f3ffd7c0> stack: ((#f ("ice-9/boot-9.scm" 1779 13)) (raise-exception ("ice-9/boot-9.scm" 1682 16)) (raise-exception ("ice-9/boot-9.scm" 1684 16)) (primitive-load (#f #f #f)) (save-module-excursion ("ice-9/boot-9.scm" 2835 4)) (#f (#f #f #f)) (map1 ("srfi/srfi-1.scm" 585 17)) (append-map ("srfi/srfi-1.scm" 672 15)) (#f ("gnu/ci.scm" 449 8)) (map1 ("srfi/srfi-1.scm" 585 17)) (append-map ("srfi/srfi-1.scm" 672 15)) (cuirass-jobs ("gnu/ci.scm" 489 4)) (#f ("ice-9/eval.scm" 158 9)) (with-exception-handler ("ice-9/boot-9.scm" 1751 10)) (call-with-prompt ("ice-9/boot-9.scm" 723 2)) (#f (#f #f #f)) (#f ("guix/repl.scm" 98 21)) (with-exception-handler ("ice-9/boot-9.scm" 1751 10)) (with-exception-handler ("ice-9/boot-9.scm" 1746 15)) (#f ("guix/repl.scm" 125 7)))>)
In thread:
uncaught throw to %exception: (#<&inferior-exception arguments: (wrong-type-arg "primitive-load" "Wrong type argument in position ~A (expecting ~A): ~S" (1 "string" #f) (#f)) inferior: #<inferior pipe (0 1 1) 7f28f3ffd9c0> stack: ((#f ("ice-9/boot-9.scm" 1779 13)) (raise-exception ("ice-9/boot-9.scm" 1682 16)) (raise-exception ("ice-9/boot-9.scm" 1684 16)) (primitive-load (#f #f #f)) (save-module-excursion ("ice-9/boot-9.scm" 2835 4)) (#f (#f #f #f)) (map1 ("srfi/srfi-1.scm" 585 17)) (append-map ("srfi/srfi-1.scm" 672 15)) (#f ("gnu/ci.scm" 449 8)) (map1 ("srfi/srfi-1.scm" 585 17)) (append-map ("srfi/srfi-1.scm" 672 15)) (cuirass-jobs ("gnu/ci.scm" 489 4)) (#f ("ice-9/eval.scm" 158 9)) (with-exception-handler ("ice-9/boot-9.scm" 1751 10)) (call-with-prompt ("ice-9/boot-9.scm" 723 2)) (#f (#f #f #f)) (#f ("guix/repl.scm" 98 21)) (with-exception-handler ("ice-9/boot-9.scm" 1751 10)) (with-exception-handler ("ice-9/boot-9.scm" 1746 15)) (#f ("guix/repl.scm" 125 7)))>)
------

[-- Attachment #2: evaluate.scm.diff --]
[-- Type: text/plain, Size: 807 bytes --]

diff --git a/build-aux/cuirass/evaluate.scm b/build-aux/cuirass/evaluate.scm
index 7ae5c266d1..92743508df 100644
--- a/build-aux/cuirass/evaluate.scm
+++ b/build-aux/cuirass/evaluate.scm
@@ -96,7 +96,9 @@ (define derivation
                             inferior store
                             `(lambda (store)
                                (cuirass-jobs store
-                                             '((subset . all)
+                                             '((subset
+                                                . (manifests
+                                                   "etc/go-manifest.scm"))
                                                (systems . ,(list system))
                                                (channels . ,channels))))))
                           (file

[-- Attachment #3: go-manifest.scm --]
[-- Type: text/plain, Size: 1222 bytes --]

;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2023 Leo Famulari <leo@famulari.name>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.

(use-modules (guix packages)
             (guix profiles)
             (gnu packages)
             (guix build-system go))

(manifest
  (map package->manifest-entry
       (fold-packages
         (lambda (package result)
           (if (or (eq? (package-build-system package) go-build-system)
                   (equal? (package-name package) "go"))
             (cons package result)
             result))
         '())))

  reply	other threads:[~2023-01-10  5:10 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-08 19:22 Golang go-updates feature branch? Leo Famulari
2023-01-08 22:32 ` John Kehayias
2023-01-10  5:09   ` Leo Famulari [this message]
2023-02-14 21:22     ` Josselin Poiret
2023-02-16 16:54       ` Leo Famulari
2023-02-16 20:05         ` Josselin Poiret
2023-02-16 21:22           ` Leo Famulari
2023-02-17 10:27         ` Simon Tournier
2023-01-11 17:11 ` Katherine Cox-Buday
2023-01-12  1:38   ` Leo Famulari

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Y7zzIiOLt7ndaO6r@jasmine.lan \
    --to=leo@famulari.name \
    --cc=guix-devel@gnu.org \
    --cc=john.kehayias@protonmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.