Age | Commit message (Collapse) | Author |
|
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.
|
|
* gnu/ci.scm (cuirass-jobs): Add channel subset 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.
|
|
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.
|
|
* gnu/ci.scm (image-jobs, system-test-jobs): Raise max-silent-time to 3600
seconds.
|
|
* gnu/ci.scm (%guix-system-images): Add novena-barebones-raw-image.
|
|
This reverts commit a79041f0b583ef3399bb46ac2a6c03a4db636573. The issue has
been fixed with 07a33b1d21e240781072352f93206cfdc765f907.
|
|
* gnu/ci.scm (hydra-jobs): Temporarily disable image-jobs.
|
|
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.
|
|
* 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.
|
|
This is a follow-up of 7c02eb6c and 44daec7f. Restore the initial behaviour.
* gnu/ci.scm (package->alist): Restore license handling.
|
|
This is a follow-up of 7c02eb6c8d7d050ecb8f3082c4a754ad32211403.
* gnu/ci.scm (package->alist): Convert license to text.
|
|
Fixes: <https://issues.guix.gnu.org/44370>.
* gnu/ci.scm (package->alist): Ignore package license.
|
|
* gnu/system/images/pine64.scm (pine64-barebones-raw-image): New variable.
* gnu/ci.scm (%guix-system-images): Add it.
|
|
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.
|
|
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.
|
|
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.
|
|
* gnu/ci.scm (hydra-jobs): Remove restriction for system to
equal (%current-system).
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
|
|
Suggested by Jan Nieuwenhuizen <janneke@gnu.org>.
* gnu/ci.scm (%core-packages): Keep only GCC >= 7.
|
|
* gnu/ci.scm (image-jobs): Keep only 7 characters from git commit in ISO
label.
|
|
* gnu/ci.scm (image-jobs): Set label of generated ISOs.
|
|
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.
|
|
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.
|
|
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: #\<
|
|
|
|
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.
|
|
|
|
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.
|
|
Conflicts:
etc/news.scm
gnu/local.mk
gnu/packages/check.scm
gnu/packages/cross-base.scm
gnu/packages/gimp.scm
gnu/packages/java.scm
gnu/packages/mail.scm
gnu/packages/sdl.scm
gnu/packages/texinfo.scm
gnu/packages/tls.scm
gnu/packages/version-control.scm
|
|
The N64 ABI has always been a niche, it seems.
* gnu/ci.scm (%cross-targets): Remove "mips64el-linux-gnuabi64".
|
|
|
|
* etc/release-manifest.scm: New file.
* gnu/ci.scm (%cross-targets): Export.
* build-aux/check-available-binaries.scm: Remove.
* Makefile.am (EXTRA_DIST): Add 'etc/release-manifest.scm' and remove
'build-aux/check-available-binaries.scm'.
(assert-binaries-available): Rewrite using 'guix weather -m'.
|
|
|
|
Fixes an evaluation error introduced in
dd1ee160be8ba4e211432c08e161c24901cd670e: when invoked via
'build-aux/cuirass/gnu-system.scm', SOURCE is a store file name, not a
<local-file> as it is when invoked via 'etc/system-tests.scm'.
* gnu/ci.scm (channel-build-system)[build]: Call 'lower-object' only
when SOURCE is not a string.
|
|
* gnu/ci.scm (channel-build-system)[build, lower]: Honor #:source.
(channel-source->package): New procedure.
(system-test-jobs): Remove 'instance' and call to
'checkout->channel-instance'. Use 'channel-source->package'.
* build-aux/run-system-tests.scm (tests-for-channel-instance): Rename to...
(tests-for-current-guix): ... this. Change 'instance' to 'source'.
(run-system-tests): Use 'local-file' instead of 'interned-file' for
SOURCE.
|
|
* gnu/ci.scm (cross-jobs): New procedure. Moved from...
(hydra-jobs): ... here.
|
|
This makes little sense and it broke in commit
8bd2b15b06f6306e37cc72995b76a7f0754cf1a6 since the mingw libc doesn't
have a "static" output.
* gnu/ci.scm (%packages-to-cross-build): Remove.
(packages-to-cross-build): New procedure.
(hydra-jobs)[cross-jobs]: Use it.
|
|
* gnu/ci.scm (%cross-targets): Add "riscv64-linux-gnu".
|
|
Fixes <https://bugs.gnu.org/36378>.
Reported by Reza Alizadeh Majd <r.majd@pantherx.org>.
* build-aux/hydra/gnu-system.scm (find-current-checkout): New procedure.
(hydra-jobs): Use FIND-CURRENT-CHECKOUT to define CHECKOUT. Pass it to the
inferior Guix as an extra argument whose key is 'superior-guix-checkout'.
* gnu/ci.scm (find-current-checkout): New procedure.
(hydra-jobs): Use FIND-CURRENT-CHECKOUT to define CHECKOUT. This will return
'#f' if the current Guix is an inferior. In that case, use the
'superior-guix-checkout' argument provided by the superior Guix.
|
|
This is a followup to 7e6d8d366a61f951936ed83371877ce006f679f6.
It means that "make check-system" can run tests from (gnu tests install)
much faster because it does not need to build a full 'guix' package.
* gnu/ci.scm (channel-instance->package): Export.
* build-aux/run-system-tests.scm (tests-for-channel-instance): New
procedure, with code formerly in 'run-system-tests'.
(run-system-tests): Call 'interned-file' for SOURCE, and add call to
'tests-for-channel-instance'.
|
|
The "ghostscript" replacements introduced in
0b859092a7346f3b4d0a3a4dac878fd64fd70b79 would not be built because they
have the same name as the original packages.
* gnu/ci.scm (all-packages): Return the replacement of PACKAGE before
PACKAGE.
|
|
This patch parameterizes previously hard-coded instances of
i686-w64-mingw32, adding support for x86_64-w64-mingw32.
* gnu/packages/mingw.scm (make-mingw-w64): New procedure.
(mingw-w64-i686, mingw-w64-x86_64): New variables.
(%mingw-triplet): Remove.
(mingw-w64): Update to point to 'mingw-w64-i686'.
* gnu/packages/cross-base.scm (cross-gcc): Use 'libc' keyword argument
if specified, instead of treating it as a boolean.
(native-libc): Return the correct mingw-w64 depending on machine
specified in target.
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add "x86_64-mingw".
* gnu/build/cross-toolchain.scm (set-cross-path/mingw): Replace
hardcoded 'i686-w64-mingw32' instances with 'target' keyword argument.
(cross-gcc-build-phases): Update accordingly; use 'target-mingw?'
implementation of target checking and add commentary.
* gnu/ci.scm (%cross-targets): Add "x86_64-w64-mingw32".
|
|
Fixes a bug made evident e79281be105b16153c375af5506db31fd1e32698: the
x86_64-linux derivation of 'current-guix' would be cached and reused for
i686-linux, leading to test
failures.
Namely, /run/current-system/profile/bin/guix would have an x86_64
binary in its shebang, and thus it would end up being interpreted by
/bin/sh, which would fail like this:
+ guix --version
/run/current-system/profile/bin/guix: line 2: !#: command not found
/run/current-system/profile/bin/guix: line 3: syntax error near unexpected token `set!'
/run/current-system/profile/bin/guix: line 3: `(begin (set! %load-path …
See <https://ci.guix.gnu.org/build/1431119/details>.
* gnu/ci.scm (channel-build-system)[build]: Pass #:system to
'run-with-store'.
|
|
* gnu/bootloader/extlinux.scm (extlinux-configuration-file): Remove
mentions of "GuixSD".
* gnu/bootloader/grub.scm (install-grub-efi): Likewise.
* gnu/build/vm.scm (make-iso9660-image): Change default #:volume-id to
"Guix_image".
(initialize-hard-disk): Search for the "Guix_image" label.
* gnu/ci.scm (system-test-jobs, tarball-jobs): Remove "GuixSD".
* gnu/installer/newt/welcome.scm (run-welcome-page): Likewise.
* gnu/packages/audio.scm (supercollider)[description]: Likewise.
* gnu/packages/curl.scm (curl): Likewise.
* gnu/packages/emacs.scm (emacs): Likewise.
* gnu/packages/gnome.scm (network-manager): Likewise.
* gnu/packages/julia.scm (julia): Likewise.
* gnu/packages/linux.scm (alsa-plugins): Likewise.
(powertop, wireless-regdb): Likewise.
* gnu/packages/package-management.scm (guix): Likewise.
* gnu/packages/polkit.scm (polkit): Likewise.
* gnu/packages/tex.scm (texlive-bin): Likewise.
* gnu/services/base.scm (file-systems->fstab): Likewise.
* gnu/services/cups.scm (%cups-activation): Likewise.
* gnu/services/mail.scm (%dovecot-activation): Likewise.
* gnu/services/messaging.scm (prosody-configuration)[log]: Likewise.
* gnu/system/examples/vm-image.tmpl (vm-image-motd): Likewise.
* gnu/system/install.scm (installation-os)[file-systems]: Change root
file system label to "Guix_image".
* gnu/system/mapped-devices.scm (check-device-initrd-modules):
Remove "GuixSD".
* gnu/system/vm.scm (system-docker-image): Likewise.
(system-disk-image)[root-label]: Change to "Guix_image".
* gnu/tests/install.scm (run-install): Remove "GuixSD".
* guix/modules.scm (guix-module-name?): Likewise.
* nix/libstore/optimise-store.cc: Likewise.
|
|
* gnu/ci.scm (system-test-jobs): Return the empty list when SYSTEM is
"armhf-linux".
|
|
This fixes a regression introduced in
b5f8c2c88543158e8aca76aa98f9009f6b9e743a whereby 'current-guix' (needed
by some of the system tests) would fail to build.
Reported by Ricardo Wurmus <rekado@elephly.net>.
It also speeds up compilation of 'current-guix' since the channel
instance is already compiled or can be built quickly compared to the
default 'current-guix'.
* gnu/packages/package-management.scm (current-guix-package): New
variable.
(current-guix): Honor it.
* gnu/ci.scm (channel-build-system): New variable.
(channel-instances->derivation): New procedure.
(system-test-jobs): Add #:source and #:commit parameters.
Define 'instance' and parameterize CURRENT-GUIX-PACKAGE.
(hydra-jobs)[checkout, commit, source]: New variables.
Pass #:source and #:commit to 'system-test-jobs'.
|
|
Previously we would rely on auto-compilation of all the Guix modules.
The complete evaluation would take ~15mn on berlin.guixsd.org and
require lots of RAM. This approach should be faster since potentially
only part of the modules are rebuilt. Furthermore, as a side-effect, it
builds the derivations that 'guix pull' uses.
* build-aux/hydra/gnu-system.scm: Remove 'eval-when' form.
(hydra-jobs): New procedure.
* gnu/ci.scm (package->alist, qemu-jobs, system-test-jobs)
(tarball-jobs): Return strings for the 'license' field.
* guix/self.scm (compiled-guix)[*cli-modules*]: Add (gnu ci).
|
|
* build-aux/hydra/gnu-system.scm: Move code to...
* gnu/ci.scm: ... here. New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
|