ci: Attempt to fix the tarball job.

* modules/rosenthal/ci/tarball.scm (tarball-jobs): New procedure.
(cuirass-jobs): Copied from Guix.
This commit is contained in:
Hilton Chain 2025-09-26 12:53:51 +08:00
parent 3bcfc744fe
commit 17c5c2fd78
No known key found for this signature in database
GPG Key ID: ACC66D09CA528292

View File

@ -3,6 +3,7 @@
;;; SPDX-License-Identifier: GPL-3.0-or-later
(define-module (rosenthal ci tarball)
#:use-module (srfi srfi-1)
#:use-module (guix derivations)
#:use-module (guix gexp)
#:use-module (guix monads)
@ -15,25 +16,46 @@
#:use-module (rosenthal packages package-management)
#:export (cuirass-jobs))
;; Adapted from (@@ (gnu ci) tarball-jobs).
(define (cuirass-jobs store arguments)
;; Copied from (@@ (gnu ci) tarball-jobs).
(define (tarball-jobs store system)
"Return jobs to build the self-contained Guix binary tarball."
(define (->job name drv)
(let ((name (string-append name "." system)))
(parameterize ((%graft? #f))
(derivation->job name drv))))
(map (lambda (system)
(->job "binary-tarball"
(run-with-store store
(mbegin %store-monad
(set-guile-for-build (default-guile))
(>>= (profile-derivation (packages->manifest (list guix/dolly)))
(lambda (profile)
(self-contained-tarball "guix-binary" profile
#:profile-name "current-guix"
#:localstatedir? #t
#:compressor
(lookup-compressor "xz")))))
#:system system)))
(arguments->systems arguments)))
(list
(->job "binary-tarball"
(run-with-store store
(mbegin %store-monad
(set-guile-for-build (default-guile))
(>>= (profile-derivation (packages->manifest (list guix/dolly)))
(lambda (profile)
(self-contained-tarball "guix-binary" profile
#:profile-name "current-guix"
#:localstatedir? #t
#:compressor
(lookup-compressor "xz")))))
#:system system))))
;; Copied from (@@ (gnu ci) cuirass-jobs).
(define (cuirass-jobs store arguments)
"Register Cuirass jobs."
(define systems
(arguments->systems arguments))
;; Turn off grafts. Grafting is meant to happen on the user's machines.
(parameterize ((%graft? #f))
;; Return one job for each package, except bootstrap packages.
(append-map
(lambda (system)
(format (current-error-port)
"evaluating for '~a' (heap size: ~a MiB)...~%"
system
(round
(/ (assoc-ref (gc-stats) 'heap-size)
(expt 2. 20))))
(invalidate-derivation-caches!)
(tarball-jobs store system))
systems)))