Commit graph

59 commits

Author SHA1 Message Date
Ludovic Courtès
887fd835a7
tests: "make check-system" uses Guix built with (guix self).
This is a followup to 7e6d8d366a.
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'.
2019-11-13 23:26:35 +01:00
Ludovic Courtès
f00ff8db92
ci: Try hard to build package replacements.
The "ghostscript" replacements introduced in
0b859092a7 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.
2019-08-26 13:40:46 +02:00
Carl Dong
67dac6b892
gnu: mingw: Add x86_64 support.
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".
2019-08-14 21:29:53 +02:00
Ludovic Courtès
c3ab921eed
ci: 'channel-build-system' honors the target system.
Fixes a bug made evident e79281be10: 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'.
2019-07-06 16:17:24 +02:00
Ludovic Courtès
59e8044588
Remove traces of "GuixSD".
* 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.
2019-03-13 23:12:43 +01:00
Ludovic Courtès
c680a7daa5
ci: Skip system tests on armhf-linux.
* gnu/ci.scm (system-test-jobs): Return the empty list when SYSTEM is
"armhf-linux".
2019-01-21 10:19:31 +01:00
Ludovic Courtès
7e6d8d366a
ci: Use a valid 'current-guix'.
This fixes a regression introduced in
b5f8c2c885 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'.
2019-01-20 01:42:11 +01:00
Ludovic Courtès
b5f8c2c885
hydra: Compute jobs in an inferior.
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).
2019-01-06 21:41:07 +01:00
Ludovic Courtès
59fb5c1cdb
hydra: Move job definitions to (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.
2019-01-06 21:41:07 +01:00