summary refs log tree commit diff
path: root/gnu/ci.scm
AgeCommit message (Collapse)Author
2023-09-20image: Introduce the mbr-hybrid-raw image type.Mathieu Othacehe
Until 209204e23b39af09e0ea92540b6fa00a60e6a0ae and d57cab764122af69d52d8cc9c843456044e5d7bc, the default image type used by "guix system image" was an MBR image with an ESP partition. Having both an MBR image and an ESP partition is handy because the image will boot on most x86 based systems using legacy BIOS and/or UEFI. We now have a distinction between MBR images and EFI images. Introduce a new MBR hybrid image type and default to it to restore the default behaviour. This also fixes the images section of (gnu ci) that was trying to install a BIOS bootloader on an EFI, GPT image and failing to do so. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2023-08-21ci: Really honor system type for manifests.Ludovic Courtès
* gnu/ci.scm (manifests->jobs): Pass SYSTEM to 'lower-object'.
2023-08-21ci: Honor user-specific systems for manifests.Ludovic Courtès
* gnu/ci.scm (manifests->jobs): Add 'systems' argument. [manifest-entry->job]: Add 'system' and honor it. Honor it. (cuirass-jobs): Pass SYSTEMS to 'manifests->jobs'.
2023-08-18gnu: commencement: Use system in %final-inputs.Christopher Baines
Otherwise this causes odd issues, I presume arising from when %current-system differs from the system argument passed to %final-inputs. * gnu/packages/commencement.scm (%final-inputs): Set %current-system to system. * gnu/packages/base.scm (%final-inputs): Add optional system parameter. * gnu/ci.scm (base-packages): New procedure to memoize the base packages depending on system. (package->job): Pass system to base-packages. Co-authored-by: Josselin Poiret <dev@jpoiret.xyz> Signed-off-by: Josselin Poiret <dev@jpoiret.xyz> Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-04-18ci: Add 'gdb-minimal' to the "core" package set.Ludovic Courtès
* gnu/ci.scm (%core-packages): Add GDB-MINIMAL.
2023-03-09ci: Update the list of GCC versions for the 'core' subset.Ludovic Courtès
* gnu/ci.scm (%core-packages): Remove GCC-8 and GCC-9. Add GCC-12.
2022-10-22Remove now unnecessary uses of (guix grafts).Ludovic Courtès
These modules would use (guix grafts) just to access '%graft?' and related bindings, which are now in (guix store). * gnu/ci.scm, guix/gexp.scm, guix/lint.scm, guix/scripts.scm, guix/scripts/archive.scm, guix/scripts/build.scm, guix/scripts/challenge.scm, guix/scripts/deploy.scm, guix/scripts/environment.scm, guix/scripts/home.scm, guix/scripts/pack.scm, guix/scripts/package.scm, guix/scripts/pull.scm, guix/scripts/size.scm, guix/scripts/system.scm, guix/scripts/weather.scm, tests/builders.scm, tests/channels.scm, tests/cpan.scm, tests/derivations.scm, tests/gexp.scm, tests/graph.scm, tests/guix-daemon.sh, tests/monads.scm, tests/pack.scm, tests/packages.scm, tests/profiles.scm, tests/system.scm: Remove #:use-module (guix grafts).
2022-10-13ci: Honor the system passed to image->job.Mathieu Othacehe
Fixes: <https://issues.guix.gnu.org/53480>. * gnu/ci.scm (image->job): Pass the system argument to the underlying lower-object call.
2022-10-11Revert "guix system: Remove unused 'read-operating-system' procedure."Ludovic Courtès
This reverts commit d11a432adffe9308eafec6b77cddd3145029109e. The 'read-operating-system' is used in Emacs-Guix.
2022-09-24gnu: Add compression module.Mathieu Othacehe
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-08-17ci: Fix the images specification.Mathieu Othacehe
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: 5bce4c82422de6beb3ce6120ba1592be898c2b72. * 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-09build-system: Add 'channel-build-system'.Ludovic Courtès
* 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-05guix system: Remove unused 'read-operating-system' procedure.Ludovic Courtès
* guix/scripts/system.scm (read-operating-system): Remove. * gnu/ci.scm: Remove unused (guix scripts system) import.
2022-05-25Move (gnu platform) and (gnu platforms ...) to guix/.Josselin Poiret
* 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-22ci: Do not rely on hardcoded cross-targets lists.Mathieu Othacehe
* 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-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.