diff options
| author | Ludovic Courtès <ludo@gnu.org> | 2026-01-26 10:58:20 +0100 |
|---|---|---|
| committer | Ludovic Courtès <ludo@gnu.org> | 2026-02-20 22:34:55 +0100 |
| commit | dc29e365099be977a87f31da4ccc57ad7500c64d (patch) | |
| tree | f36d442f81d82f49acdbcf36cf34515dfe5a7b6e | |
| parent | 10a2533d364400de6d0a2b7ff59c6f6632001166 (diff) | |
ci: Add provenance information for ‘guix’ jobs.
This changes ‘guix’ jobs to include provenance metadata, thereby addressing
<https://codeberg.org/guix/maintenance/pulls/68#issuecomment-9184019>. It
also avoids relying on the low-level channel implementation details.
* gnu/ci.scm (guix-jobs)[build]: Remove.
[instance]: New variable.
Pass it to ‘channel-instances->derivation’ instead of calling ‘build’.
Reported-by: Rutherther <rutherther@ditigal.xyz>
Change-Id: I4b63a12374b0717b8a62786486bc2e7915f6439b
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| -rw-r--r-- | gnu/ci.scm | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/gnu/ci.scm b/gnu/ci.scm index c4ce87a7c73..80f226a5fb4 100644 --- a/gnu/ci.scm +++ b/gnu/ci.scm | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; GNU Guix --- Functional package management for GNU | 1 | ;;; GNU Guix --- Functional package management for GNU |
| 2 | ;;; Copyright © 2012-2024 Ludovic Courtès <ludo@gnu.org> | 2 | ;;; Copyright © 2012-2024, 2026 Ludovic Courtès <ludo@gnu.org> |
| 3 | ;;; Copyright © 2017, 2020, 2026 Janneke Nieuwenhuizen <janneke@gnu.org> | 3 | ;;; Copyright © 2017, 2020, 2026 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> |
| 4 | ;;; Copyright © 2018, 2019 Clément Lassieur <clement@lassieur.org> | 4 | ;;; Copyright © 2018, 2019 Clément Lassieur <clement@lassieur.org> |
| 5 | ;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu> | 5 | ;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu> |
| 6 | ;;; Copyright © 2020, 2021 Mathieu Othacehe <othacehe@gnu.org> | 6 | ;;; Copyright © 2020, 2021 Mathieu Othacehe <othacehe@gnu.org> |
| @@ -232,17 +232,18 @@ SYSTEM." | |||
| 232 | 232 | ||
| 233 | (define* (guix-jobs store systems #:key source commit) | 233 | (define* (guix-jobs store systems #:key source commit) |
| 234 | "Return a list of jobs for Guix itself." | 234 | "Return a list of jobs for Guix itself." |
| 235 | (define build | 235 | (define instance |
| 236 | (primitive-load (string-append source "/build-aux/build-self.scm"))) | 236 | (checkout->channel-instance source |
| 237 | #:url (channel-url %default-guix-channel) | ||
| 238 | #:commit commit)) | ||
| 237 | 239 | ||
| 238 | (map | 240 | (map |
| 239 | (lambda (system) | 241 | (lambda (system) |
| 240 | (let ((name (string->symbol | 242 | (let ((name (string->symbol |
| 241 | (string-append "guix." system))) | 243 | (string-append "guix." system))) |
| 242 | (drv (run-with-store store | 244 | (drv (run-with-store store |
| 243 | (build source #:version commit #:system system | 245 | (channel-instances->derivation (list instance) |
| 244 | #:pull-version 1 | 246 | #:system system)))) |
| 245 | #:guile-version "2.2")))) | ||
| 246 | (derivation->job name drv))) | 247 | (derivation->job name drv))) |
| 247 | systems)) | 248 | systems)) |
| 248 | 249 | ||
