1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-05-01 06:45:55 +02:00
Commit Graph

67 Commits

Author SHA1 Message Date
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
Marius Bakke 2778302399 Merge branch 'master' into core-updates
Conflicts:
	etc/news.scm
	gnu/local.mk
	gnu/packages/check.scm
	gnu/packages/cross-base.scm
	gnu/packages/gimp.scm
	gnu/packages/java.scm
	gnu/packages/mail.scm
	gnu/packages/sdl.scm
	gnu/packages/texinfo.scm
	gnu/packages/tls.scm
	gnu/packages/version-control.scm
2020-04-08 13:00:50 +02:00
Ludovic Courtès 8f41f19236 ci: Remove "mips64el-linux-gnuabi64" from '%cross-targets'.
The N64 ABI has always been a niche, it seems.

* gnu/ci.scm (%cross-targets): Remove "mips64el-linux-gnuabi64".
2020-04-07 12:31:36 +02:00
Marius Bakke 961d2ee269 Merge branch 'master' into core-updates 2020-03-14 13:13:40 +01:00