summaryrefslogtreecommitdiff
path: root/forge/forge.scm
AgeCommit message (Expand)Author
2022-02-09forge: Set LAMINAR_REASON.•••* forge/forge.scm (ci-jobs-trigger-gexp): Accept #:reason keyword argument and set LAMINAR_REASON. (forge-activation, forge-service-type): Pass #:reason keyword argument. Arun Isaac
2022-02-09forge: Pass <forge-laminar-job> objects to ci-jobs-trigger-gexp.•••* forge/forge.scm (ci-jobs-trigger-gexp): Accept <forge-laminar-job> objects. (forge-activation, forge-service-type): Pass <forge-laminar-job> objects. Arun Isaac
2022-02-09forge: Support triggering jobs with a webhook.•••* forge/forge.scm: Import (forge webhook). (<forge-project-configuration>)[ci-jobs-trigger]: Allow 'webhook. (forge-service-type): Extend webhook-service-type. Arun Isaac
2022-02-09forge: Return ci-jobs-trigger as G-expression.•••G-expressions are more versatile than file-like objects and compose cleanly under different circumstances. * forge/forge.scm (ci-jobs-trigger-script): Rename to ci-jobs-trigger-gexp and return a G-expression. (forge-activation, forge-service-type): Invoke ci-jobs-trigger-gexp instead of ci-jobs-trigger-script and pass its output to program-file. Arun Isaac
2022-02-09forge: Introduce ci-jobs-trigger field.•••Allow explicitly specifying the CI jobs trigger mechanism. This will enable us to later introduce the webhook trigger mechanism. * forge/forge.scm: Export forge-project-configuration-ci-jobs-trigger. (<forge-project-configuration>)[ci-jobs-trigger]: New field. (forge-activation): Use the ci-jobs-trigger field to decide whether to install the post receive hook. (forge-service-type): Use the ci-jobs-trigger field to decide whether to set up a cron job. Arun Isaac
2022-02-09forge: Rename post-receive-hook to ci-jobs-trigger-script.•••ci-jobs-trigger is a more generic term, and better reflects its use not only as a post-receive hook, but also as a cron job. Later, ci-jobs-trigger will also be used as a webhook command. * forge/forge.scm (post-receive-hook): Rename to ci-jobs-trigger-script. (forge-activation, forge-service-type): Invoke ci-jobs-trigger-script instead of post-receive-hook. Arun Isaac
2022-02-08forge: Match only exact matches with group regex.•••Prior to this commit, group regular expressions could match parts of job names. After this commit, they will only match the entire job name. * forge/forge.scm (forge-service-type): Surround regex in a non-capturing group, and ^ and $ for exact matches. Arun Isaac
2022-02-08forge: Support explicit specification of Guix daemon URI.•••* forge/forge.scm: Import (srfi srfi-26). Export forge-configuration-guix-daemon-uri. (<forge-configuration>)[guix-daemon-uri]: New field. (forge-project-configuration-laminar-jobs): Accept forge configuration as argument and pass on guix-daemon-uri to gexp-producer->job-script. (forge-activation, forge-service-type): Pass forge configuration to forge-project-configuration-laminar-jobs. (gexp-producer->job-script): Accept guix-daemon-uri as argument and parameterize store accesses with it. Arun Isaac
2022-02-08forge: Add derivation jobs to be executed by the Guix daemon.•••* forge/forge.scm: Import guile-gcrypt from (gnu packages gnupg), guile-3.0 and guile-zlib from (gnu packages guile), git-minimal from (gnu packages version-control), (guix gexp), (guix modules), (guix packages), and (guix store). Export forge-derivation-job, forge-derivation-job-name, forge-derivation-job-run and forge-derivation-job-after. (<forge-derivation-job>): New type. (forge-project-configuration-laminar-jobs, import-module?, gexp-producer->job-script): New function. (forge-activation, forge-service-type): Call forge-project-configuration-laminar-jobs instead of forge-project-configuration-ci-jobs. Arun Isaac
2022-02-07forge: Add repository branch field to forge-project-configuration.•••* forge/forge.scm (<forge-project-configuration>)[repository-branch]: New field. Export forge-project-configuration-repository-branch. Arun Isaac
2022-01-24forge: Bump copyright year.•••I forgot to bump the copyright year in an earlier commit. * forge/forge.scm: Bump copyright year. Arun Isaac
2022-01-21forge: Make user field of <forge-project-configuration> optional.•••* forge/forge.scm (<forge-project-configuration>)[user]: Set default value to #f. Arun Isaac
2022-01-09forge: Rename guix-laminar-* to forge-laminar-*.•••* forge/laminar.scm: Rename all guix-laminar-* names to forge-laminar-*. * forge/forge.scm (forge-activation, forge-service-type): Replace guix-laminar-job-name with forge-laminar-job-name. (forge-service-type): Replace guix-laminar-service-type with forge-laminar-service-type and guix-laminar-group with forge-laminar-group. Arun Isaac
2022-01-09forge: Import (gnu packages ci).•••(gnu packages ci) is required for the laminar package. * forge/forge.scm: Import (gnu packages ci). Arun Isaac
2021-12-21Initial commitArun Isaac