Commit graph

92 commits

Author SHA1 Message Date
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
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