summaryrefslogtreecommitdiff
path: root/gnu/ci.scm
AgeCommit message (Collapse)AuthorFilesLines
2021-06-14ci: Update to the last version.version-1.3.0Mathieu Othacehe1-34/+60
* gnu/ci.scm: Update to the master version.
2021-04-18ci: tarball: Use "current-guix" as profile name.Mathieu Othacehe1-0/+1
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 Othacehe1-12/+12
* 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 Othacehe1-5/+11
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 Othacehe1-17/+5
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 Marusich1-0/+1
* gnu/ci.scm (%cross-targets): Add an entry for powerpc64le-linux-gnu.
2021-03-23ci: Change manifest argument type.Mathieu Othacehe1-10/+6
* gnu/ci.scm (arguments->manifests): Change manifest argument type.
2021-03-14ci: Support packages with multiple channels.Mathieu Othacehe1-5/+4
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 Othacehe1-0/+12
* gnu/ci.scm (cuirass-jobs): Add channel subset support.
2021-03-10ci: Remove hydra support.Mathieu Othacehe1-247/+205
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 Othacehe1-2/+1
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 Othacehe1-2/+2
* gnu/ci.scm (image-jobs, system-test-jobs): Raise max-silent-time to 3600 seconds.
2020-12-03ci: Build novena-barebones-raw-image.Danny Milosavljevic1-1/+3
* gnu/ci.scm (%guix-system-images): Add novena-barebones-raw-image.
2020-12-01Revert "ci: Temporarily disable image-jobs."Mathieu Othacehe1-3/+1
This reverts commit a79041f0b583ef3399bb46ac2a6c03a4db636573. The issue has been fixed with 07a33b1d21e240781072352f93206cfdc765f907.
2020-11-29ci: Temporarily disable image-jobs.Mathieu Othacehe1-1/+3
* gnu/ci.scm (hydra-jobs): Temporarily disable image-jobs.
2020-11-25ci: Limit image and system tests jobs periodicity.Mathieu Othacehe1-2/+14
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.
2020-11-20image: Add pinebook-pro support.Mathieu Othacehe1-1/+3
* 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.
2020-11-02ci: Restore license handling.Mathieu Othacehe1-1/+10
This is a follow-up of 7c02eb6c and 44daec7f. Restore the initial behaviour. * gnu/ci.scm (package->alist): Restore license handling.
2020-11-02ci: Convert license to text.Mathieu Othacehe1-1/+1
This is a follow-up of 7c02eb6c8d7d050ecb8f3082c4a754ad32211403. * gnu/ci.scm (package->alist): Convert license to text.
2020-11-02ci: Ignore package license.Mathieu Othacehe1-10/+1
Fixes: <https://issues.guix.gnu.org/44370>. * gnu/ci.scm (package->alist): Ignore package license.
2020-10-06images: Add pine64-barebones-raw-image.Mathieu Othacehe1-1/+3
* gnu/system/images/pine64.scm (pine64-barebones-raw-image): New variable. * gnu/ci.scm (%guix-system-images): Add it.
2020-10-01ci: Add log and outputs keys.Mathieu Othacehe1-0/+24
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.
2020-10-01ci: Add nix-name and system keys.Mathieu Othacehe1-22/+30
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.
2020-09-29ci: Build hurd-barebones-qcow2-image.Mathieu Othacehe1-1/+1
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.
2020-09-25ci: Remove native-system restriction from "hello" and "list" jobsets.Jan (janneke) Nieuwenhuizen1-13/+9
* gnu/ci.scm (hydra-jobs): Remove restriction for system to equal (%current-system). Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2020-09-03ci: In the 'core' subset, build GCC >= 7.Ludovic Courtès1-1/+1
Suggested by Jan Nieuwenhuizen <janneke@gnu.org>. * gnu/ci.scm (%core-packages): Keep only GCC >= 7.
2020-09-03gnu: ci: Truncate git commit in ISO label.Julien Lepiller1-1/+4
* gnu/ci.scm (image-jobs): Keep only 7 characters from git commit in ISO label.
2020-08-31gnu: ci: Set label in iso9660 jobs.Julien Lepiller1-1/+5
* gnu/ci.scm (image-jobs): Set label of generated ISOs.
2020-06-29ci: Do not limit disk-image size.Mathieu Othacehe1-1/+0
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.
2020-06-25ci: Build Guix System images.Mathieu Othacehe1-34/+38
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.
2020-06-25Revert "ci: Build Guix System images."Ludovic Courtès1-39/+35
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: #\<
2020-06-24ci: Build Guix System images.Mathieu Othacehe1-35/+39
2020-05-29image: Do not use VM to create disk-images.Mathieu Othacehe1-9/+11
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.
2020-05-05Merge branch 'master' into core-updatesMarius Bakke1-26/+19
2020-05-05image: Add a new API.Mathieu Othacehe1-26/+19
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.
2020-04-08Merge branch 'master' into core-updatesMarius Bakke1-1/+0
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
2020-04-07ci: Remove "mips64el-linux-gnuabi64" from '%cross-targets'.Ludovic Courtès1-1/+0
The N64 ABI has always been a niche, it seems. * gnu/ci.scm (%cross-targets): Remove "mips64el-linux-gnuabi64".
2020-03-14Merge branch 'master' into core-updatesMarius Bakke1-1/+2
2020-03-13maint: Add 'etc/release-manifest.scm'.Ludovic Courtès1-1/+2
* 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'.
2020-03-10Merge branch 'master' into core-updatesMarius Bakke1-58/+67
2020-03-05ci: Adjust 'channel-build-system' for when the source is a file name.Ludovic Courtès1-1/+5
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.
2020-03-05tests: "make check-system" no longer interns source upfront.Ludovic Courtès1-14/+18
* 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.
2020-03-05ci: Move 'cross-jobs' procedure to the top level.Ludovic Courtès1-44/+45
* gnu/ci.scm (cross-jobs): New procedure. Moved from... (hydra-jobs): ... here.
2020-02-24ci: Don't cross build bootstrap tarballs to MinGW.Ludovic Courtès1-3/+7
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.
2020-01-31ci: Cross-build for riscv64-linux-gnu.Ludovic Courtès1-1/+2
* gnu/ci.scm (%cross-targets): Add "riscv64-linux-gnu".
2019-12-01ci: Make sure the Guix checkout is the one providing Cuirass proc.Clément Lassieur1-8/+14
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.
2019-11-13tests: "make check-system" uses Guix built with (guix self).Ludovic Courtès1-1/+2
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'.
2019-08-26ci: Try hard to build package replacements.Ludovic Courtès1-2/+6
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.
2019-08-14gnu: mingw: Add x86_64 support.Carl Dong1-1/+2
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-07-06ci: 'channel-build-system' honors the target system.Ludovic Courtès1-2/+4
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'.