summary refs log tree commit diff
path: root/gnu/ci.scm
AgeCommit message (Collapse)Author
2024-07-10gnu: ci: Cross-build for fewer platforms.Efraim Flashner
* gnu/ci.scm (%unsupported-platform-triplets): New variable. (cross-jobs): Also don't build for systems listed in %unsupported-platform-triplets. Change-Id: Ic31ae6d307f2d243c098ec050bdb9d09060466ac
2024-06-13ci: Add cross-compilation jobs for x86_64-linux-gnux32.Ludovic Courtès
* gnu/ci.scm (cross-jobs)[same?]: Special case x86_64-linux-gnux32. Change-Id: I877eb50d6b0b0bf10474c58f8e9d5ee92f1705d2
2024-05-31ci: Build visionfive2-barebones-raw-image.Zheng Junjie
* gnu/ci.scm (%guix-system-images): Add visionfive2-barebones-raw-image. Change-Id: I0a0edccf00119d6b23b864bb0123be6ca7b01d34 Signed-off-by: Zheng Junjie <zhengjunjie@iscas.ac.cn>
2024-04-17ci: Don’t cross-compile to xtensa-ath9k-elf.Ludovic Courtès
This is a followup to 9a60894156c3ea2c609ae0cd787df949f2d6ecc2. * gnu/ci.scm (%bare-platform-triplets): New variable. (cross-jobs)[pointless?]: Use it. Change-Id: I4701bc402bb93d372d46b7208697e0f998a1dc62
2024-01-23ci: Don't cross compile to or1k-elf.Mathieu Othacehe
* gnu/ci.scm (cross-jobs)[pointless?]: Don't build any packages for or1k-elf. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Change-Id: I294429d5318b94fb8e7780a37f3608b5321cf6ca
2023-12-18gnu: ci: Build tuned packages for common baselines.Efraim Flashner
* gnu/ci.scm (%x86-64-micro-architectures): Update the list of micro-architectures to also match the psABI levels. Change-Id: Iee2f65376a00ad2ee5fb393c2e64c07f866d8116
2023-12-12ci: Don't cross compile to avr.Efraim Flashner
* gnu/ci.scm (cross-jobs)[pointless?]: Don't build any packages for avr. Change-Id: I1728727874d65461b82364e71b70c7d1fd050d90
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.