summaryrefslogtreecommitdiff
path: root/build-aux/hydra
AgeCommit message (Collapse)Author
2021-03-10ci: Remove hydra support.Mathieu Othacehe
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.
2020-10-01ci: Add log and outputs keys.Mathieu Othacehe
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 Othacehe
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-03-22Remove workaround for 'time-monotonic' in Guile 2.2.2.Ludovic Courtès
This is a followup to e688c2df3924423b67892cc9939ca099c729d1cb. * build-aux/hydra/evaluate.scm <top level>: Remove 'time-monotonic' definition. * guix/cache.scm: Likewise. * guix/progress.scm: Likewise. * guix/scripts/substitute.scm: Likewise. * guix/scripts/weather.scm: Likewise. * tests/cache.scm: Likewise.
2020-03-22hydra: evaluate: Use 'with-build-handler'.Ludovic Courtès
* build-aux/hydra/evaluate.scm (command-line): Remove 'set!' for 'build-things'. Use 'with-build-handler' instead. * build-aux/hydra/gnu-system.scm (hydra-jobs): Add comment about removing 'show-what-to-build' call.
2020-03-05hydra: Remove uses of _IOLBF.Ludovic Courtès
_IOLBF & co. were deprecated in Guile 2.2 and removed in 3.0. * build-aux/hydra/gnu-system.scm: Pass 'line instead of _IOLBF to 'setvbuf'. * build-aux/hydra/guix-modular.scm: Likewise.
2019-12-01ci: Make sure the Guix checkout is the one providing Cuirass proc.Clément Lassieur
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-01-06hydra: Compute jobs in an inferior.Ludovic Courtès
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-06hydra: evaluate: Add the checkout to the store.Ludovic Courtès
* build-aux/hydra/evaluate.scm <top level>: Add call to 'add-to-store'. Use that as the 'file-name' attribute. Call 'primitive-load' in a directory excursion to SOURCE.
2019-01-06hydra: Move job definitions to (gnu ci).Ludovic Courtès
* build-aux/hydra/gnu-system.scm: Move code to... * gnu/ci.scm: ... here. New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
2018-12-29hydra: Use short timeouts for the QEMU jobs and system tests.Ludovic Courtès
These builds shouldn't take too long. Sometimes the guest kernel crashes and the VM gets stuck; we should be able to terminate those jobs quickly. * build-aux/hydra/gnu-system.scm (qemu-jobs)[->alist]: Add 'max-silent-time' and 'timeout'. (system-test-jobs)[test->thunk]: Likewise.
2018-12-09hydra: Increase image sizes for USB image and Flash image.Danny Milosavljevic
* build-aux/hydra/gnu-system.scm (qemu-jobs) <usb-image>: Increase from 1024 MiB to 1500 MiB. <flash-image>: Increase from 1024 MiB to 1500 MiB.
2018-09-14hydra: Remove useless 'parameterize'.Clément Lassieur
* build-aux/hydra/gnu-system.scm (manifests->packages): Remove 'parameterize'.
2018-09-13hydra: Add support for manifests.Clément Lassieur
* build-aux/hydra/gnu-system.scm (arguments->manifests, manifests->packages): New procedures. (hydra-jobs): Add a "manifests" subset. * doc/guix.texi (Continuous Integration): Update accordingly.
2018-06-15hydra: Make sure we add an absolute file name to the load path.Ludovic Courtès
Previously, under Cuirass, we'd add "build-aux/cuirass/../hydra/../..". But then, commit c45477d2a1a651485feede20fe0f3d15aec48b39 added this in (gnu system vm): (local-file (search-path %load-path "guix/store/schema.sql")) Since 'search-path' would not return an absolute file name, 'local-file' would try to resolve that relative to "gnu/system", leading to: ERROR: In procedure force: In procedure canonicalize-path: No such file or directory: "/gnu/store/…-guix-ce573b1/gnu/system/build-aux/cuirass/../hydra/../../guix/store/schema.sql * build-aux/hydra/gnu-system.scm <top level>: Canonicalize DIR before adding it to %LOAD-PATH.
2018-06-10hydra: guix-modular: Build the full Guix.Ludovic Courtès
* build-aux/hydra/guix-modular.scm (build-job): Pass #:pull-version to BUILD.
2018-05-12hydra: Switch back to "-" instead of "@" in package job names.Ludovic Courtès
Fixes a regression introduced in ede121de426f9c56820852888a0b370f0ccbce49. Reported by Mark H Weaver <mhw@netris.org>. * build-aux/hydra/gnu-system.scm (job-name): Pass "-" as the second argument to 'package-full-name'.
2018-04-09hydra: Fix uses of 'eval-when'.Ludovic Courtès
* build-aux/hydra/gnu-system.scm: Use (expand load eval) in 'eval-when' clause so as to not poison a cat and to ensure %load-compiled-path is properly set when the 'use-modules' clauses are expanded. * build-aux/hydra/guix.scm: Likewise.
2018-04-08hydra: guix-modular: Honor the 'systems' argument.Ludovic Courtès
* build-aux/hydra/guix-modular.scm (hydra-jobs)[systems]: Define as in gnu-system.scm. Honor SYSTEMS.
2018-04-08hydra: guix-modular: Explicitly build for the latest 2.2.Ludovic Courtès
* build-aux/hydra/guix-modular.scm (build-job): Pass #:guile-version to 'build'.
2018-04-08hydra: Clear '%load-compiled-path' for gnu-system.scm.Ludovic Courtès
On hydra.gnu.org GUILE_LOAD_COMPILED_PATH happened to be empty so we were fine. However on GuixSD with Cuirass, we could have a conflicting non-empty path and .go files for some of the (guix …) and (gnu …) modules would be taken from there. * build-aux/hydra/gnu-system.scm: Set %load-compiled-path.
2018-04-08hydra: 'guix-modular' jobs use the new 'build-self'.Ludovic Courtès
* build-aux/hydra/guix-modular.scm: Remove 'eval-when' form that fiddled with '%load-path'. (build-job): Load 'build-aux/build-self.scm' and call the procedure it returns. * build-aux/hydra/evaluate.scm: The 'build-things' replacement no longer calls 'exit'.
2018-04-08cuirass: Add job specs for the modular Guix.Ludovic Courtès
* build-aux/cuirass/guix-modular.scm: New file. * Makefile.am (EXTRA_DIST): Add it.
2018-02-01Merge branch 'master' into core-updatesMarius Bakke
2018-01-29hydra: Fix up arm qemu job.Danny Milosavljevic
* build-aux/hydra/gnu-system.scm (qemu-jobs): Fix up arm qemu job. Follow-up to 44b0303762f58badd9b9f8f1145e54b76b9d19d2.
2018-01-29hydra: Only build the "flash image" on arm.Danny Milosavljevic
* build-aux/hydra/gnu-system.scm (qemu-jobs): Only build the "flash image" on arm.
2018-01-29hydra: Work around import problem.Danny Milosavljevic
* build-aux/hydra/gnu-system.scm: qemu-jobs: Work around import problem. Follow-up to 1fe805b290f26db477bcd49be91af54f6c5d061f.
2018-01-29hydra: Add (gnu bootloader) import.Danny Milosavljevic
* build-aux/hydra/gnu-system.scm: Add (gnu bootloader) import. Follow-up to de2bc8d6da0ba4e74ed083af66a22cf96f74e67f.
2018-01-29hydra: Add arm image builder.Danny Milosavljevic
* build-aux/hydra/gnu-system.scm (%u-boot-systems): New variable. (%guixsd-supported-systems): Add armhf-linux. (qemu-jobs): Use u-boot if system in %u-boot-systems.
2018-01-21hydra: Make the list of target systems a parameter.Ludovic Courtès
* build-aux/hydra/gnu-system.scm (hydra-jobs): Define 'systems' and use it.
2017-12-29hydra: Do not cross-build from non-Intel platforms.Ludovic Courtès
* build-aux/hydra/gnu-system.scm (hydra-jobs)[cross-jobs](pointless?): Return #t on non-Intel.
2017-12-13hydra: Pre-load the compiler.Ludovic Courtès
Starting from Guile 2.2.3, '%fresh-auto-compile' does what it says and would auto-compile everything, including the compiler (see <https://bugs.gnu.org/29226>). * build-aux/hydra/gnu-system.scm: Call 'compile'.
2017-12-13hydra: Invalidate derivation caches after each architecture evaluation.Ludovic Courtès
This reduces max RSS from 1.3G to 1.0G. * guix/derivations.scm (invalidate-derivation-caches!): New procedure. * build-aux/hydra/gnu-system.scm (hydra-jobs): Use it. Add 'format' call.
2017-11-21hydra: Add jobs for the modular Guix.Ludovic Courtès
* build-aux/hydra/guix-modular.scm: New file. * Makefile.am (EXTRA_DIST): Add it.
2017-11-21hydra: 'evaluate' passes an alist to the entry point.Ludovic Courtès
* build-aux/hydra/evaluate.scm (%top-srcdir): New variable. <top level>: Pass it to 'hydra-jobs'.
2017-11-07hydra: Add jobs for all of '%final-inputs'.Ludovic Courtès
* build-aux/hydra/gnu-system.scm (package->job): Create a 'base.' job when PACKAGE is a member of BASE-PACKAGES. (all-packages)[adjust]: New procedure. Fold over %FINAL-INPUTS and add it to the result.
2017-11-07hydra: Build hidden packages.Ludovic Courtès
* build-aux/hydra/gnu-system.scm (all-packages): Pass #:select? to 'fold-packages'.
2017-11-07hydra: Factorize package list creation.Ludovic Courtès
* build-aux/hydra/gnu-system.scm (all-packages): New procedure, with body taken from... (hydra-jobs): ... here. Use it.
2017-09-28cuirass: Add 'cuirass-jobs.scm' target to compute the Cuirass jobs.Jan Nieuwenhuizen
* build-aux/hydra/evaluate.scm: Support "cuirass" command line option. * Makefile.am (cuirass-jobs.scm): New target.
2017-09-27cuirass: Support subset with list of package[@version].Jan Nieuwenhuizen
* build-aux/hydra/gnu-system.scm (hydra-jobs): Support subset of packages: ("name[@version" ...).
2017-09-27cuirass: Add gnu-system build spec.Jan Nieuwenhuizen
* build-aux/hydra/gnu-system.scm (hydra-jobs): Support subset "hello". * build-aux/cuirass/gnu-system.scm: New file. * doc/guix.texi (Continuous Integration): Update example spec.
2017-07-25hydra: Add 'guix.SYSTEM' jobs.Ludovic Courtès
* build-aux/hydra/guix.scm (package->alist): Disable grafting. (hydra-jobs): Return 'guix.SYSTEM' jobs in addition to 'tarball'.
2017-07-25hydra: Simplify 'tarball' job.Ludovic Courtès
* build-aux/hydra/guix.scm (tarball-package): Remove. (hydra-jobs): Use 'dist-package' instead of 'tarball-package'.
2017-07-03build: Add iso9660 system image generator.Danny Milosavljevic
* build-aux/hydra/gnu-system.scm (qemu-jobs): Add 'iso9660-image . * gnu/build/vm.scm (make-iso9660-image): New variable. Export it. * gnu/system/vm.scm (iso9660-image): New variable. Use make-iso9660-image. (system-disk-image): Use iso9660-image.
2017-06-15hydra: Don't build non-substitutable packages.Ludovic Courtès
* build-aux/hydra/gnu-system.scm (package->job): Compute PACKAGE's derivation; return #f if 'substitutable-derivation?' returns #f.
2017-05-16hydra: Cross-build Guile 2.2.Ludovic Courtès
* build-aux/hydra/gnu-system.scm (%core-packages): Add GUILE-2.2.
2017-05-07maint: Add 'time-monotonic' bug workaround in build-aux/hydra/evaluate.scm.Ludovic Courtès
* build-aux/hydra/evaluate.scm: Add 'time-monotonic' workaround for Guile 2.2.
2017-03-30hydra: Don't build deprecated packages.Ludovic Courtès
* build-aux/hydra/gnu-system.scm (hydra-jobs): When iterating over the packages, exclude those that match 'package-superseded'.
2017-03-30Merge branch 'master' into core-updatesMarius Bakke
Most conflicts are from 6fd52309b8f52c9bb59fccffac53e029ce94b698.
2017-03-30hydra: Include the localstatedir in the binary tarball.Ludovic Courtès
This is a followup to 6b63c43e0661406bf9e8c4c54f517744fc2ffdb3. * build-aux/hydra/gnu-system.scm (tarball-jobs): Pass #:localstatedir? #t to 'self-contained-tarball'.