Commit graph

76 commits

Author SHA1 Message Date
Mathieu Othacehe
ebe9d660a5
gnu: Add compression module.
Move the compression record to a dedicated module so that it can be used
outside (guix scripts pack) module.

* guix/scripts/pack.scm (<compressor>, %compressors, lookup-compressor): Move
it to ...
* gnu/compression.scm: ... this new file.
* gnu/ci.scm: Adapt it.
* local.mk (GNU_SYSTEM_MODULES): Add it.
2022-09-24 14:49:09 +02:00
Mathieu Othacehe
5bbb9af5d9
ci: Fix the images specification.
If the current-guix-package parameter is not set, Cuirass will try to update
the in-store Git checkout used by the evaluate.scm inferior:

ice-9/boot-9.scm:1685:16: In procedure raise-exception: ERROR:
1. &inferior-exception: arguments: (git-error #<inferior-object #<<git-error>
code: -3 message: "could not find repository from
'/gnu/store/v33m82qzkvd96dlp2g83dvz62n4pkad2-guix-20d8081'" class: 6>>)
inferior: #<inferior pipe (0 1 1) 7f7948957dc0>
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)) (#f ("guix/git.scm"
395 13))

This is a follow-up of: 5bce4c8242.

* gnu/ci.scm (image-jobs): Add source and commit arguments.
Use them to set the current-guix-package parameter.
(cuirass-jobs): Adapt accordingly.
2022-08-17 11:29:38 +02:00
Ludovic Courtès
5bce4c8242
build-system: Add 'channel-build-system'.
* gnu/ci.scm (channel-build-system, channel-source->package): Remove.
* gnu/packages/package-management.scm (channel-source->package): New
procedure, moved from (gnu ci).
* guix/build-system/channel.scm: New file, with code moved from (gnu ci).
* doc/guix.texi (Build Systems): Document it.
2022-08-09 15:16:06 +02:00
Ludovic Courtès
d11a432adf
guix system: Remove unused 'read-operating-system' procedure.
* guix/scripts/system.scm (read-operating-system): Remove.
* gnu/ci.scm: Remove unused (guix scripts system) import.
2022-08-05 15:28:05 +02:00
Josselin Poiret
dab819d5c4
Move (gnu platform) and (gnu platforms ...) to guix/.
* gnu/platform.scm:
* gnu/platforms/arm.scm:
* gnu/platforms/hurd.scm:
* gnu/platforms/mips.scm:
* gnu/platforms/powerpc.scm:
* gnu/platforms/riscv.scm:
* gnu/platforms/s390.scm:
* gnu/platforms/x86.scm: Move to guix/.

* Makefile.am:
* doc/guix.texi (Porting to a New Platform):
* etc/release-manifest.scm:
* gnu/ci.scm:
* gnu/image.scm:
* gnu/local.mk:
* gnu/packages/bioinformatics.scm:
* gnu/packages/bootstrap.scm:
* gnu/packages/cross-base.scm:
* gnu/packages/instrumentation.scm:
* gnu/packages/linux.scm:
* gnu/system/image.scm:
* gnu/system/images/hurd.scm:
* gnu/system/images/novena.scm:
* gnu/system/images/pine64.scm:
* gnu/system/images/pinebook-pro.scm:
* gnu/system/images/rock64.scm:
* guix/scripts/build.scm:
* guix/scripts/system.scm:
* guix/self.scm: Update (gnu platform...) to (guix platform...).

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2022-05-25 09:27:25 +02:00
Mathieu Othacehe
dd970122dd
ci: Do not rely on hardcoded cross-targets lists.
* gnu/ci.scm (%cross-targets): Remove it ...
(cross-jobs): ... and use the targets procedure instead.
* etc/release-manifest.scm: Adapt it.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2022-05-22 15:15:33 +02:00
Ludovic Courtès
6756c64a8f
ci: Add extra jobs for tunable packages.
This allows us to provide substitutes for tuned package variants.

* gnu/ci.scm (package-job): Add #:suffix and honor it.
(package->job): Add #:suffix and honor it.
(%x86-64-micro-architectures): New variable.
(tuned-package-jobs): New procedure.
(cuirass-jobs): Add jobs for tunable packages.
2022-01-01 15:23:24 +01:00
Mathieu Othacehe
32750e8c3e
Merge remote-tracking branch 'signed/master' into core-updates 2021-12-10 21:49:25 +01:00
Ludovic Courtès
93e9f0bc7f
ci: Cross-build the 'guix' package.
* gnu/ci.scm (%core-packages): Add GUIX.
2021-12-06 10:56:01 +01:00
Mathieu Othacehe
a1eca979fb
Merge remote-tracking branch 'origin/master' into core-updates-frozen. 2021-10-12 17:46:23 +00:00
Ludovic Courtès
688a4db071
ci: Allow manifests to contain any lowerable object.
Previously, manifests could only contain packages:

  https://lists.gnu.org/archive/html/guix-devel/2021-10/msg00002.html

This allows us to pass origins as found in 'etc/source-manifest.scm'.

* gnu/ci.scm (derivation->job): Change default #:timeout value to 5h.
(manifests->packages): Remove.
(manifests->jobs): New procedure.
(cuirass-jobs): Use it in the 'manifests' case.
2021-10-04 16:36:59 +02:00
Ludovic Courtès
7c5f01d556
ci: Adjust 'channel-build-system' to monadic style.
* gnu/ci.scm (channel-build-system): Adjust to new monadic style.
2021-09-27 17:55:53 +02:00
Ludovic Courtès
ac815ecd63
ci: Build commencement packages supported on the target system.
This is a followup to df49fe2a13.

* gnu/ci.scm (%bootstrap-packages): Rename to...
(commencement-packages): ... this, and turn into a procedure.  Filter
packages that pass 'supported-package?'.
(cuirass-jobs): Adjust accordingly.
2021-07-10 19:59:31 +02:00
Mathieu Othacehe
df49fe2a13
ci: Add bootstrap packages to the core subset.
* gnu/ci.scm (%bootstrap-packages): New variable.
(cuirass-jobs): Add it to the core subset.
2021-07-09 14:12:40 +02:00
Mathieu Othacehe
37861f6c29
ci: Add bootstrap packages to the core subset.
* gnu/ci.scm (%bootstrap-packages): New variable.
(cuirass-jobs): Add it to the core subset.
2021-07-09 14:12:15 +02:00
Ludovic Courtès
9ac9df25a1
ci: Change "core" subset to include the latest GCC and Guile.
* gnu/ci.scm (%core-packages): Replace GCC-7 by GCC-11 and GUILE-2.0 by
GUILE-3.0.
2021-07-05 16:09:03 +02:00
Ludovic Courtès
39f1486efd
ci: Remove duplicate ".SYSTEM" extension for cross-compilation jobs.
* gnu/ci.scm (package-cross-job): Remove ".SYSTEM".
2021-07-03 20:01:05 +02:00
Mathieu Othacehe
e4c02ac70f
ci: Add derivation inputs.
* gnu/ci.scm (derivation->job): Add the derivation inputs to the job
association list.
2021-05-25 14:47:16 +02:00
Mathieu Othacehe
a5c2e0dc4e
ci: Add derivation inputs.
* gnu/ci.scm (derivation->job): Add the derivation inputs to the job
association list.
2021-05-25 09:46:35 +02:00
Mathieu Othacehe
f97e220b45
ci: Add custom subset.
* gnu/ci.scm (cuirass-jobs): Add 'custom susbset.
2021-04-28 11:53:33 +02:00
Mathieu Othacehe
3034f3d05b
ci: Add arguments->systems procedure.
* gnu/ci.scm (arguments->systems): New procedure.
(cuirass-jobs): Use it.
2021-04-28 11:53:32 +02:00
Mathieu Othacehe
996b5edf51
ci: Factorize image->job procedure.
* gnu/ci.scm (image-jobs): Extract ->job procedure into ...
(image->job): ... this new procedure.
2021-04-28 11:53:32 +02:00
Mathieu Othacehe
2ccb715ab3
ci: tarball: Use "current-guix" as profile name.
Fixes: <https://issues.guix.gnu.org/47841>.

* gnu/ci.scm (tarball-jobs): Use "current-guix" as profile name.
2021-04-18 10:45:53 +02:00
Mathieu Othacehe
fc37346ff4
ci: Fix system-tests subset.
* gnu/ci.scm (system-test-jobs): Make sure that "all-system-tests" is also
covered by the "current-guix-package" parameter.
2021-04-12 11:55:41 +02:00
Mathieu Othacehe
2afc79b51d
ci: Introduce new subsets.
Introduce 'images, 'system-tests and 'tarball subsets.

* gnu/ci.scm (cuirass-jobs): Break the 'all subset into smaller subsets.
2021-04-08 15:24:03 +02:00
Mathieu Othacehe
14ada96451
ci: Remove the job period argument.
Cuirass now deals with periodicity directly on specifications.

* gnu/ci.scm (derivation->job): Remove the period argument.
(image-jobs, system-test-jobs, tarball-jobs): Adapt them.
2021-04-08 15:24:03 +02:00
Chris Marusich
8d9aece8c4
ci: %cross-targets: Add powerpc64le-linux-gnu.
* gnu/ci.scm (%cross-targets): Add an entry for powerpc64le-linux-gnu.
2021-03-23 23:19:58 -07:00
Mathieu Othacehe
862af8c2ed
ci: Change manifest argument type.
* gnu/ci.scm (arguments->manifests): Change manifest argument type.
2021-03-23 11:48:35 +01:00
Mathieu Othacehe
cbfcbb79df
ci: Support packages with multiple channels.
This is a follow-up of 61a1165340. For packages
provided by external channels, package-channels procedure will return at least
two channels. Take it into account.

* gnu/ci.scm (cuirass-jobs): Fix channels subset argument.
2021-03-14 19:43:35 +01:00
Mathieu Othacehe
61a1165340
ci: Add channel subset support.
* gnu/ci.scm (cuirass-jobs): Add channel subset support.
2021-03-14 18:19:41 +01:00
Mathieu Othacehe
76bea3f8bc
ci: Remove hydra support.
This removes hydra support to use Cuirass as the only continuous integration
system.

* build-aux/hydra/gnu-system.scm: Remove it.
* build-aux/hydra/guix-modular.scm: Ditto.
* build-aux/hydra/guix.scm: Ditto.
* build-aux/cuirass/hydra-to-cuirass.scm: Ditto.
* Makefile.am (EXTRA_DIST): Update it.
(hydra-jobs.scm): Remove it.
(cuirass-jobs.scm): Update it.
* build-aux/hydra/evaluate.scm: Move it to ...
* build-aux/cuirass/evaluate.scm: ... here.
* build-aux/cuirass/guix-modular.scm: Remove it.
* build-aux/cuirass/gnu-system.scm: Ditto.
* guix/packages.scm (%hydra-supported-systems): Rename it to ...
(%cuirass-supported-systems): ... this variable.
* build-aux/check-final-inputs-self-contained: Adapt it.
* etc/release-manifest.scm: Ditto.
* gnu/ci.scm (package->alist): Remove it.
(derivation->job): New procedure.
(package-job, package-cross-job, cross-jobs, image-jobs, system-test-jobs,
tarball-jobs): Use it.
(guix-jobs): New procedure.
(hydra-jobs): Rename it to ...
(cuirass-jobs): ... this procedure.
2021-03-10 08:49:48 +01:00
Mathieu Othacehe
5c111882de
ci: Remove the package version from the job name.
Match Hydra behaviour where the job_name is <package_name>.<system>. This
allows to operate on several builds of the same package in the CI, regardless
of their version.

* gnu/ci.scm (job-name): Remove package version from the job name.
2021-01-31 15:14:15 +01:00
Mathieu Othacehe
b54523ad32
ci: Raise max-silent-time to 3600.
* gnu/ci.scm (image-jobs, system-test-jobs): Raise max-silent-time to 3600
seconds.
2021-01-29 10:04:33 +01:00
Danny Milosavljevic
846e52400f
ci: Build novena-barebones-raw-image.
* gnu/ci.scm (%guix-system-images): Add novena-barebones-raw-image.
2020-12-03 12:36:03 +01:00
Mathieu Othacehe
98bf5ffe2d
Revert "ci: Temporarily disable image-jobs."
This reverts commit a79041f0b5. The issue has
been fixed with 07a33b1d21.
2020-12-01 09:33:16 +01:00
Mathieu Othacehe
a79041f0b5
ci: Temporarily disable image-jobs.
* gnu/ci.scm (hydra-jobs): Temporarily disable image-jobs.
2020-11-29 22:05:20 +01:00
Mathieu Othacehe
fc2fa7ad40
ci: Limit image and system tests jobs periodicity.
System tests and images jobs are extremely expensive in I/O operations and
storage size, pass a "period" argument to Cuirass to limit their periodicity.

* gnu/ci.scm (hours): New procedure,
(image-jobs, system-test-jobs, tarball-jobs): set a period argument.
2020-11-25 10:48:55 +01:00
Mathieu Othacehe
17d9a91e6b
image: Add pinebook-pro support.
* gnu/system/images/pinebook-pro.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* gnu/ci.scm (%guix-system-images): Add pinebook-pro-barebones-raw-image.
2020-11-20 17:00:27 +01:00
Mathieu Othacehe
b5f2a035f9
ci: Restore license handling.
This is a follow-up of 7c02eb6c and 44daec7f. Restore the initial behaviour.

* gnu/ci.scm (package->alist): Restore license handling.
2020-11-02 21:02:39 +01:00
Mathieu Othacehe
44daec7fa4
ci: Convert license to text.
This is a follow-up of 7c02eb6c8d.

* gnu/ci.scm (package->alist): Convert license to text.
2020-11-02 10:42:33 +01:00
Mathieu Othacehe
7c02eb6c8d
ci: Ignore package license.
Fixes: <https://issues.guix.gnu.org/44370>.

* gnu/ci.scm (package->alist): Ignore package license.
2020-11-02 10:34:39 +01:00
Mathieu Othacehe
8a4f1eef98
images: Add pine64-barebones-raw-image.
* gnu/system/images/pine64.scm (pine64-barebones-raw-image): New variable.
* gnu/ci.scm (%guix-system-images): Add it.
2020-10-06 09:51:43 +02:00
Mathieu Othacehe
c5cf45e906
ci: Add log and outputs keys.
Add 'log and 'outputs properties to hydra objects. This way Cuirass won't
have to go through every derivation to add those properties.

* gnu/ci.scm (package->alist, image-jobs, system-test-jobs, tarball-jobs): Add
'log and 'outputs properties.
* build-aux/hydra/guix-modular.scm (build-job): Ditto.
2020-10-01 18:39:41 +02:00
Mathieu Othacehe
3ca014d1df
ci: Add nix-name and system keys.
Add 'nix-name and 'system properties to hydra objects. This way Cuirass won't
have to go through every derivation to add those properties.

* gnu/ci.scm (package->alist, image-jobs, system-test-jobs, tarball-jobs): Add
'nix-name and 'system properties.
* build-aux/hydra/guix-modular.scm (build-job): Ditto.
2020-10-01 11:46:53 +02:00
Mathieu Othacehe
3d0e875026
ci: Build hurd-barebones-qcow2-image.
Build hurd-barebones-qcow2-image instead of hurd-barebones-disk-image to speed
downloads.

* gnu/ci.scm (%guix-system-images): Build 'hurd-barebones-qcow2-image instead
of 'hurd-barebones-disk-image.
2020-09-29 11:42:53 +02:00
Jan (janneke) Nieuwenhuizen
db2785cd86
ci: Remove native-system restriction from "hello" and "list" jobsets.
* gnu/ci.scm (hydra-jobs): Remove restriction for system to
equal (%current-system).

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2020-09-25 18:14:58 +02:00
Ludovic Courtès
84f38f036f
ci: In the 'core' subset, build GCC >= 7.
Suggested by Jan Nieuwenhuizen <janneke@gnu.org>.

* gnu/ci.scm (%core-packages): Keep only GCC >= 7.
2020-09-03 23:26:53 +02:00
Julien Lepiller
7596ae1034
gnu: ci: Truncate git commit in ISO label.
* gnu/ci.scm (image-jobs): Keep only 7 characters from git commit in ISO
label.
2020-09-03 14:10:10 +02:00
Julien Lepiller
f43ec1c5b0
gnu: ci: Set label in iso9660 jobs.
* gnu/ci.scm (image-jobs): Set label of generated ISOs.
2020-08-31 16:12:31 +02:00
Mathieu Othacehe
880bf7a094
ci: Do not limit disk-image size.
Installation tests are already checking the disk-image size. Do not set
another limit here.

* gnu/ci.scm (image-jobs): Do not limit disk-image size.
2020-06-29 17:24:36 +02:00