1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-04-07 21:50:35 +02:00
Commit Graph

70 Commits

Author SHA1 Message Date
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
Mathieu Othacehe
b06ba9e0ff ci: Build Guix System images.
Build a list of Guix System images. For now, this list only contains the Hurd
barebones Guix System image.

* gnu/ci.scm (%guixsd-supported-systems): Remove "armhf-linux",
(%u-boot-systems): remove unused variable,
(%guix-system-images): new variable
(qemu-jobs): rename to "image-jobs" and build the Guix Systems listed in the
new "%guix-system-images" variable,
(system-test-jobs): adapt accordingly,
(hydra-jobs): ditto.
2020-06-25 10:29:41 +02:00
Ludovic Courtès
1189f405ae Revert "ci: Build Guix System images."
This reverts commit eda3fcfb46.

This change broke evaluations on CI:

  @ build-succeeded /gnu/store/991738x97ff1f8181a7p1pflqwkgagm8-profile.drv -
  ERROR: In procedure read:
  In procedure scm_lreadr: #<unknown port>:16:144: Unknown # object: #\<
2020-06-25 01:27:55 +02:00
Mathieu Othacehe
eda3fcfb46 ci: Build Guix System images. 2020-06-24 20:47:35 +02:00
Mathieu Othacehe
e3f0155c41 image: Do not use VM to create disk-images.
Now that installing Grub on raw disk-images is supported, we do not need to
rely on (gnu system vm) module.

* gnu/system/image.scm (make-system-image): Rename to ...
(system-image): ... this, and remove the compatibility wrapper.
(find-image): Turn to a monadic procedure. This will become useful when
introducing Hurd support, to be able to detect the target system.
* gnu/ci.scm (qemu-jobs): Use lower-object now that system-image returns a
file-like object.
* gnu/tests/install.scm (run-install): Ditto.
* guix/scripts/system.scm (system-derivation-for-action): Add a 'base-image'
argument,
(perform-action): adapt accordingly.
2020-05-29 09:12:11 +02:00
Marius Bakke
87a40d7203 Merge branch 'master' into core-updates 2020-05-05 20:43:21 +02:00
Mathieu Othacehe
f19cf27c2b image: Add a new API.
Raw disk-images and ISO9660 images are created in a Qemu virtual machine. This
is quite fragile, very slow, and almost unusable without KVM.

For all these reasons, add support for host image generation. This implies the
use new image generation mechanisms.

- Raw disk images: images of partitions are created using tools such as mke2fs
  and mkdosfs depending on the partition file-system type. The partition
  images are then assembled into a final image using genimage.

- ISO9660 images: the ISO root directory is populated within the store. GNU
  xorriso is then called on that directory, in the exact same way as this is
  done in (gnu build vm) module.

Those mechanisms are built upon the new (gnu image) module.

* gnu/image.scm: New file.
* gnu/system/image.scm: New file.
* gnu/build/image: New file.
* gnu/local.mk: Add them.
* gnu/system/vm.scm (system-disk-image): Rename to system-disk-image-in-vm.
* gnu/ci.scm (qemu-jobs): Adapt to new API.
* gnu/tests/install.scm (run-install): Ditto.
* guix/scripts/system.scm (system-derivation-for-action): Ditto.
2020-05-05 16:13:53 +02:00