summaryrefslogtreecommitdiff
path: root/gnu/ci.scm
AgeCommit message (Collapse)Author
2022-01-01ci: Add extra jobs for tunable packages.Ludovic Courtès
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.
2021-12-10Merge remote-tracking branch 'signed/master' into core-updatesMathieu Othacehe
2021-12-06ci: Cross-build the 'guix' package.Ludovic Courtès
* gnu/ci.scm (%core-packages): Add GUIX.
2021-10-12Merge remote-tracking branch 'origin/master' into core-updates-frozen.Mathieu Othacehe
2021-10-04ci: Allow manifests to contain any lowerable object.Ludovic Courtès
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-09-27ci: Adjust 'channel-build-system' to monadic style.Ludovic Courtès
* gnu/ci.scm (channel-build-system): Adjust to new monadic style.
2021-07-10ci: Build commencement packages supported on the target system.Ludovic Courtès
This is a followup to df49fe2a13d933c640e3189413c5adfced1103c5. * 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-09ci: Add bootstrap packages to the core subset.Mathieu Othacehe
* gnu/ci.scm (%bootstrap-packages): New variable. (cuirass-jobs): Add it to the core subset.
2021-07-09ci: Add bootstrap packages to the core subset.Mathieu Othacehe
* gnu/ci.scm (%bootstrap-packages): New variable. (cuirass-jobs): Add it to the core subset.
2021-07-05ci: Change "core" subset to include the latest GCC and Guile.Ludovic Courtès
* gnu/ci.scm (%core-packages): Replace GCC-7 by GCC-11 and GUILE-2.0 by GUILE-3.0.
2021-07-03ci: Remove duplicate ".SYSTEM" extension for cross-compilation jobs.Ludovic Courtès
* gnu/ci.scm (package-cross-job): Remove ".SYSTEM".
2021-05-25ci: Add derivation inputs.Mathieu Othacehe
* gnu/ci.scm (derivation->job): Add the derivation inputs to the job association list.
2021-05-25ci: Add derivation inputs.Mathieu Othacehe
* gnu/ci.scm (derivation->job): Add the derivation inputs to the job association list.
2021-04-28ci: Add custom subset.Mathieu Othacehe
* gnu/ci.scm (cuirass-jobs): Add 'custom susbset.
2021-04-28ci: Add arguments->systems procedure.Mathieu Othacehe
* gnu/ci.scm (arguments->systems): New procedure. (cuirass-jobs): Use it.
2021-04-28ci: Factorize image->job procedure.Mathieu Othacehe
* gnu/ci.scm (image-jobs): Extract ->job procedure into ... (image->job): ... this new procedure.
2021-04-18ci: tarball: Use "current-guix" as profile name.Mathieu Othacehe
Fixes: <https://issues.guix.gnu.org/47841>. * gnu/ci.scm (tarball-jobs): Use "current-guix" as profile name.
2021-04-12ci: Fix system-tests subset.Mathieu Othacehe
* gnu/ci.scm (system-test-jobs): Make sure that "all-system-tests" is also covered by the "current-guix-package" parameter.
2021-04-08ci: Introduce new subsets.Mathieu Othacehe
Introduce 'images, 'system-tests and 'tarball subsets. * gnu/ci.scm (cuirass-jobs): Break the 'all subset into smaller subsets.
2021-04-08ci: Remove the job period argument.Mathieu Othacehe
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-03-23ci: %cross-targets: Add powerpc64le-linux-gnu.Chris Marusich
* gnu/ci.scm (%cross-targets): Add an entry for powerpc64le-linux-gnu.
2021-03-23ci: Change manifest argument type.Mathieu Othacehe
* gnu/ci.scm (arguments->manifests): Change manifest argument type.
2021-03-14ci: Support packages with multiple channels.Mathieu Othacehe
This is a follow-up of 61a1165340a8bcc45550259edca25275d899fe09. 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-14ci: Add channel subset support.Mathieu Othacehe
* gnu/ci.scm (cuirass-jobs): Add channel subset support.
2021-03-10ci: Remove hydra support.Mathieu Othacehe
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-01-31ci: Remove the package version from the job name.Mathieu Othacehe
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-29ci: Raise max-silent-time to 3600.Mathieu Othacehe
* gnu/ci.scm (image-jobs, system-test-jobs): Raise max-silent-time to 3600 seconds.
2020-12-03ci: Build novena-barebones-raw-image.Danny Milosavljevic
* gnu/ci.scm (%guix-system-images): Add novena-barebones-raw-image.
2020-12-01Revert "ci: Temporarily disable image-jobs."Mathieu Othacehe
This reverts commit a79041f0b583ef3399bb46ac2a6c03a4db636573. The issue has been fixed with 07a33b1d21e240781072352f93206cfdc765f907.
2020-11-29ci: Temporarily disable image-jobs.Mathieu Othacehe
* gnu/ci.scm (hydra-jobs): Temporarily disable image-jobs.
2020-11-25ci: Limit image and system tests jobs periodicity.Mathieu Othacehe
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-20image: Add pinebook-pro support.Mathieu Othacehe
* 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-02ci: Restore license handling.Mathieu Othacehe
This is a follow-up of 7c02eb6c and 44daec7f. Restore the initial behaviour. * gnu/ci.scm (package->alist): Restore license handling.
2020-11-02ci: Convert license to text.Mathieu Othacehe
This is a follow-up of 7c02eb6c8d7d050ecb8f3082c4a754ad32211403. * gnu/ci.scm (package->alist): Convert license to text.
2020-11-02ci: Ignore package license.Mathieu Othacehe
Fixes: <https://issues.guix.gnu.org/44370>. * gnu/ci.scm (package->alist): Ignore package license.
2020-10-06images: Add pine64-barebones-raw-image.Mathieu Othacehe
* gnu/system/images/pine64.scm (pine64-barebones-raw-image): New variable. * gnu/ci.scm (%guix-system-images): Add it.
2020-10-01ci: Add log and outputs keys.Mathieu Othacehe
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-01ci: Add nix-name and system keys.Mathieu Othacehe
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-09-29ci: Build hurd-barebones-qcow2-image.Mathieu Othacehe
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-25ci: Remove native-system restriction from "hello" and "list" jobsets.Jan (janneke) Nieuwenhuizen
* gnu/ci.scm (hydra-jobs): Remove restriction for system to equal (%current-system). Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2020-09-03ci: In the 'core' subset, build GCC >= 7.Ludovic Courtès
Suggested by Jan Nieuwenhuizen <janneke@gnu.org>. * gnu/ci.scm (%core-packages): Keep only GCC >= 7.
2020-09-03gnu: ci: Truncate git commit in ISO label.Julien Lepiller
* gnu/ci.scm (image-jobs): Keep only 7 characters from git commit in ISO label.
2020-08-31gnu: ci: Set label in iso9660 jobs.Julien Lepiller
* gnu/ci.scm (image-jobs): Set label of generated ISOs.
2020-06-29ci: Do not limit disk-image size.Mathieu Othacehe
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-25ci: Build Guix System images.Mathieu Othacehe
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-25Revert "ci: Build Guix System images."Ludovic Courtès
This reverts commit eda3fcfb46586710fff876ce6254b300795ef543. 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-24ci: Build Guix System images.Mathieu Othacehe
2020-05-29image: Do not use VM to create disk-images.Mathieu Othacehe
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-05Merge branch 'master' into core-updatesMarius Bakke
2020-05-05image: Add a new API.Mathieu Othacehe
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.