1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-04-06 21:20:33 +02:00

95 Commits

Author SHA1 Message Date
Ludovic Courtès
426101e70f ci: Extend the ‘%core-packages’ set.
The goal is to extend what the 'core subset builds but also (more
importantly) what gets cross-compiled for the 'all subset.

* gnu/ci.scm (%core-packages-for-mingw): New variable.
(%core-packages): Use it.
(%linux-packages, %hurd-packages): New variables.
(core-packages): New procedure.
(packages-to-cross-build, cuirass-jobs): Use it instead of ‘%core-packages’.

Change-Id: I2ee656ea589ffbf7dabcb6e84b3bb5a0b13556af
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-03-25 23:51:25 +01:00
Ludovic Courtès
dc29e36509 ci: Add provenance information for ‘guix’ jobs.
This changes ‘guix’ jobs to include provenance metadata, thereby addressing
<https://codeberg.org/guix/maintenance/pulls/68#issuecomment-9184019>.  It
also avoids relying on the low-level channel implementation details.

* gnu/ci.scm (guix-jobs)[build]: Remove.
[instance]: New variable.
Pass it to ‘channel-instances->derivation’ instead of calling ‘build’.

Reported-by: Rutherther <rutherther@ditigal.xyz>
Change-Id: I4b63a12374b0717b8a62786486bc2e7915f6439b
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-02-20 22:34:55 +01:00
Janneke Nieuwenhuizen
0978ce1e62 ci: Also build 64-bit hurd image.
* gnu/ci.scm (%guix-system-images): Add hurd64-barebones-qcow2-image.

Change-Id: I41e6acf09d6284b0b7d2d23132d355d2229285a6
2026-02-09 22:49:30 +01:00
Efraim Flashner
e99c838d4f gnu: ci: Cross-build for fewer platforms.
* 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-07-10 18:57:44 +03:00
Ludovic Courtès
a636bd3beb ci: Add cross-compilation jobs for x86_64-linux-gnux32.
* gnu/ci.scm (cross-jobs)[same?]: Special case x86_64-linux-gnux32.

Change-Id: I877eb50d6b0b0bf10474c58f8e9d5ee92f1705d2
2024-06-13 08:53:20 +02:00
Zheng Junjie
83d29d56f8 ci: Build visionfive2-barebones-raw-image.
* gnu/ci.scm (%guix-system-images): Add visionfive2-barebones-raw-image.

Change-Id: I0a0edccf00119d6b23b864bb0123be6ca7b01d34
Signed-off-by: Zheng Junjie <zhengjunjie@iscas.ac.cn>
2024-05-31 20:04:51 +08:00
Ludovic Courtès
7bed290fdf ci: Don’t cross-compile to xtensa-ath9k-elf.
This is a followup to 9a60894156.

* gnu/ci.scm (%bare-platform-triplets): New variable.
(cross-jobs)[pointless?]: Use it.

Change-Id: I4701bc402bb93d372d46b7208697e0f998a1dc62
2024-04-17 17:29:58 +02:00
Mathieu Othacehe
3aa60e4096 ci: Don't cross compile to or1k-elf.
* 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
2024-01-23 21:45:36 +01:00
Efraim Flashner
6e6ccef212 gnu: ci: Build tuned packages for common baselines.
* gnu/ci.scm (%x86-64-micro-architectures): Update the list of
micro-architectures to also match the psABI levels.

Change-Id: Iee2f65376a00ad2ee5fb393c2e64c07f866d8116
2023-12-18 08:14:16 +02:00
Efraim Flashner
92e2de6fb4 ci: Don't cross compile to avr.
* gnu/ci.scm (cross-jobs)[pointless?]: Don't build any packages for avr.

Change-Id: I1728727874d65461b82364e71b70c7d1fd050d90
2023-12-12 13:58:16 +02:00
Mathieu Othacehe
e5ed1712da image: Introduce the mbr-hybrid-raw image type.
Until 209204e23b and
d57cab7641, 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-09-20 09:38:36 +02:00
Ludovic Courtès
4fb9d52435 ci: Really honor system type for manifests.
* gnu/ci.scm (manifests->jobs): Pass SYSTEM to 'lower-object'.
2023-08-21 19:16:05 +02:00
Ludovic Courtès
97f062f33c ci: Honor user-specific systems for manifests.
* 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-21 16:16:47 +02:00
Christopher Baines
560cb51e7b gnu: commencement: Use system in %final-inputs.
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-08-18 16:02:34 +02:00
Ludovic Courtès
c8bc58a9e7 ci: Add 'gdb-minimal' to the "core" package set.
* gnu/ci.scm (%core-packages): Add GDB-MINIMAL.
2023-04-18 15:59:34 +02:00
Ludovic Courtès
768b770597 ci: Update the list of GCC versions for the 'core' subset.
* gnu/ci.scm (%core-packages): Remove GCC-8 and GCC-9.  Add GCC-12.
2023-03-09 18:14:25 +01:00
Ludovic Courtès
a3619079f9 Remove now unnecessary uses of (guix grafts).
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-22 01:46:55 +02:00
Mathieu Othacehe
7c2b09f924 ci: Honor the system passed to image->job.
Fixes: <https://issues.guix.gnu.org/53480>.

* gnu/ci.scm (image->job): Pass the system argument to the underlying
lower-object call.
2022-10-13 17:28:46 +02:00
Ludovic Courtès
22b9734b67 Revert "guix system: Remove unused 'read-operating-system' procedure."
This reverts commit d11a432adf.

The 'read-operating-system' is used in Emacs-Guix.
2022-10-11 16:05:31 +02:00
Mathieu Othacehe
ebe9d660a5 gnu: Add compression module.
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-09-24 14:49:09 +02:00
Mathieu Othacehe
5bbb9af5d9 ci: Fix the images specification.
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: 5bce4c8242.

* 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-17 11:29:38 +02:00
Ludovic Courtès
5bce4c8242 build-system: Add 'channel-build-system'.
* 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-09 15:16:06 +02:00
Ludovic Courtès
d11a432adf guix system: Remove unused 'read-operating-system' procedure.
* guix/scripts/system.scm (read-operating-system): Remove.
* gnu/ci.scm: Remove unused (guix scripts system) import.
2022-08-05 15:28:05 +02:00
Josselin Poiret
dab819d5c4 Move (gnu platform) and (gnu platforms ...) to guix/.
* 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-25 09:27:25 +02:00
Mathieu Othacehe
dd970122dd ci: Do not rely on hardcoded cross-targets lists.
* 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-05-22 15:15:33 +02:00
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