summaryrefslogtreecommitdiff
path: root/guix/ci.scm
AgeCommit message (Collapse)Author
2022-10-20ci: Add 'start-time' and 'stop-time' to <build> records.Ludovic Courtès
* guix/ci.scm (seconds->date): New procedure. (<build>)[start-time, stop-time]: New fields. (build-duration): New procedure.
2021-12-19ci: Restrict substitute search to guix jobset.Andrew Whatson
* guix/ci.scm (latest-builds): Add jobset keyword. (find-latest-commit-with-substitutes): Pass jobset "guix". Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-08-22ci: Add jobs history support.Mathieu Othacehe
* guix/ci.scm (history?, history-evaluation, history-checkouts, history-jobs, jobs-history): New procedures. (<history>): New record.
2021-07-16ci: Properly construct URLs.Hartmut Goebel
Implement a new function "api-url", which constructs URLs using relative URI and "resolve-uri-reference" (which implements the algorithm specified in RFC 3986 section 5.2.2) for building the URL, instead of just appending strings. This avoids issued if the server-url ends with a slash. Since "api-url" uses URI-objects, it makes sense to also construct the query-part of the URL here. For this "api-url" accepts optional key-value-pairs. New function "json-api-fetch" is a wrapper using "api-url". * guix/ci.scm (api-url): New function. (build): Use it. (json-api-fetch): New function. (queued-builds, latest-builds, evaluation, latest-evaluations, evaluation-jobs: Use it.
2021-07-04ci: Add procedures to access jobs and builds.Ludovic Courtès
* guix/ci.scm (<job>): New record type. (evaluation-jobs, build, job-build): New procedures.
2021-07-04ci: Represent build status as a symbol.Ludovic Courtès
* guix/ci.scm (define-enumeration-mapping): New macro. (integer->build-status): New procedure. (<build>)[status]: Use it.
2021-05-26guix: ci: Add spec support to latest-evaluations.Mathieu Othacehe
* guix/ci.scm (latest-evaluations): Add spec parameter support.
2021-05-26guix: ci: Fix evaluation complete? field.Mathieu Othacehe
* guix/ci.scm (<evaluation>): Fix evaluation complete? field.
2021-04-20guix: ci: Rename the checkout 'input' field.Mathieu Othacehe
The checkout "input" field has been renamed "channel" in Cuirass 1.0 release. * guix/ci.scm (<checkout>)[input]: Rename it into ... [channel]: ... this new field.
2021-01-31ci: Add missing imports.Ludovic Courtès
This is a followup to 041a9466ea23d6ae811491bcf529bf9487317b48. * guix/ci.scm: Add missing imports. * guix/channels.scm: Remove (guix ci) import.
2021-01-31guix: channels: Introduce "channel-with-substitutes-available".Mathieu Othacehe
* guix/channels.scm (find-latest-commit-with-substitutes, channel-with-substitutes-available): New procedures. * guix/scripts/pull.scm (guix-pull): Move "channel-list" call inside the %current-system parameter scope. * doc/guix.texi (Channels with substitutes): New section.
2020-12-07ci: Add "evaluation" method.Mathieu Othacehe
* guix/ci.scm (evaluation): New procedure.
2020-12-07ci: Add evaluation field to build record.Mathieu Othacehe
* guix/ci.scm (<build>): Add "evaluation" field.
2020-09-08Remove (guix json) and require Guile-JSON 4.3.0+.Ludovic Courtès
This is a followup to 4071879c86d059ee087c8986915ea72b8c742b72. * guix/json.scm: Remove. * Makefile.am (MODULES): Adjust accordingly. * m4/guix.m4 (GUIX_CHECK_GUILE_JSON): Check for 'define-json-mapping'. * doc/guix.texi (Requirements): Require Guile-JSON 4.3.0+. * guix/ci.scm, guix/cve.scm, guix/import/cpan.scm, guix/import/crate.scm, guix/swh.scm: Remove (guix json) import. * guix/import/gem.scm, guix/import/pypi.scm: Likewise, and import (json). * guix/self.scm (specification->package): Switch to GUILE-JSON-4. * guix/git-download.scm (git-fetch): Likewise.
2020-06-15ci: Add build-products id field and export accessors.Mathieu Othacehe
* guix/ci.scm (build-product?, build-product-id, build-product-type, build-product-file-size, build-product-path): Export them, [id]: new field.
2020-06-15ci: Add status option to "latest-builds".Mathieu Othacehe
* guix/ci.scm (latest-builds): Add "status" option.
2020-06-15ci: Fix buildproducts reading.Mathieu Othacehe
This is a follow-up of 4e05bbb093a17145fcabd48ea1d2c9cd7559084d. * guix/ci.scm (<build>)[products]: Test for vector type, as products can be "null".
2020-06-15ci: Add job option to "latest-builds".Mathieu Othacehe
* guix/ci.scm (latest-builds): Add "job" option.
2020-06-15ci: Add build products support.Mathieu Othacehe
* guix/ci.scm (<build-product>): New json mapping, (<build)[products]: new field.
2020-03-31ci: Fix 'evaluation-spec' binding.Ludovic Courtès
* guix/ci.scm (<evaluation>)[spec]: Add "specification", which is what the JSON field is actually called.
2019-09-04ci: Use (guix json) and adjust for Guile-JSON 3.x.Ludovic Courtès
This is in part a followup to 81c3dc32244a17241d74eea9fa265edfcb326f6d. * guix/ci.scm (<build>, <checkout>, <evaluation>): Define using 'define-json-mapping'. (json->build, json->checkout, json->evaluation): Remove. (queued-builds, latest-builds, latest-evaluations): Pass JSON arrays through 'vector->list' to adjust for Guile-JSON 3.x. (evaluations-for-commit): Fix typo to really export.
2018-11-10ci: Add procedures to access evaluations.Ludovic Courtès
* guix/ci.scm (<checkout>, <evaluation>): New record types. (latest-builds): Add #:evaluation and #:system and honor it. Define 'option'. (json->checkout, json->evaluation, latest-evaluations) (evaluations-for-commit): New procedures.
2018-03-28Add (guix ci).Ludovic Courtès
* guix/ci.scm: New file. * Makefile.am (MODULES): Add it.