Age | Commit message (Collapse) | Author |
|
* forge/forge.scm: Import (forge webhook).
(<forge-project-configuration>)[ci-jobs-trigger]: Allow 'webhook.
(forge-service-type): Extend webhook-service-type.
|
|
* forge/webhook.scm: New file.
|
|
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.
|
|
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.
|
|
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.
|
|
* forge/build/git.scm: New file.
|
|
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.
|
|
* 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.
|
|
* 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.
|
|
* forge/forge.scm (<forge-project-configuration>)[repository-branch]:
New field.
Export forge-project-configuration-repository-branch.
|
|
with-packages allows for easy creation of G-expressions where a list
of specified packages are available. It is to G-expressions what `guix
shell' is to the shell. with-packages is frequently used in the
definition of CI jobs.
* forge/utils.scm: New file.
|
|
I forgot to bump the copyright year in an earlier commit.
* forge/forge.scm: Bump copyright year.
|
|
* forge/laminar.scm (forge-laminar-activation): Create laminar
configuration directory if it does not exist.
|
|
* forge/forge.scm (<forge-project-configuration>)[user]: Set default
value to #f.
|
|
* 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.
|
|
(gnu packages ci) is required for the laminar package.
* forge/forge.scm: Import (gnu packages ci).
|
|
|