about summary refs log tree commit diff
path: root/guix/forge/forge.scm
AgeCommit message (Collapse)Author
26 hoursforge: Promote website CI job to its own field.Arun Isaac
With the website CI job in its own field, we can reduce boilerplate around installing the built website at the correct path.
37 hoursforge: Move project websites under single forge website directory.Arun Isaac
45 hoursforge: Serve project websites under the forge web domain.Arun Isaac
46 hoursforge: List projects on forge home page.Arun Isaac
46 hoursforge: Serve tissue on separate domain.Arun Isaac
Serve tissue on a separate domain so that the forge can serve its own web interface on the main domain.
2025-08-18Import nss-certs from (gnu packages nss).Frederick Muriuki Muriithi
Guix upstream has moved nss-certs from (gnu packages certs) to (gnu packages nss). Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
2025-03-28forge: Make forge web listing optional.Arun Isaac
* doc/forge.skb: * guix/forge/forge.scm (<forge-configuration>)[web-domain]: Set default to #f. * guix/forge/forge.scm (forge-tissue-host): Rename to forge-tissue-hosts. Return list of <tissue-host> objects. (forge-service-type): Update call to forge-tissue-host. Add default value.
2025-03-28forge: Configure tissue for projects.Arun Isaac
* guix/forge/forge.scm (<forge-project>)[tissue?]: New field. (<forge-configuration>)[web-domain]: New field. (forge-nginx-server-blocks): Do not serve website conventionally if tissue is enabled. (forge-tissue-host): New function. (forge-service-type): Extend tissue-service-type. Do not set up a default value. * doc/forge.skb (Reference)[<forge-configuration>]: Document web-domain. [<forge-project>]: Document tissue?.
2025-03-28forge: Serve project websites.Arun Isaac
* guix/forge/forge.scm: Import (forge nginx) and (gnu services web). (<forge-project>)[web-domain]: New field. (forge-nginx-server-blocks): New function. * guix/forge/forge.scm: Extend forge-nginx-service-type. * doc/forge.skb (Reference)[forge-project]: Document web-domain.
2025-03-28forge: Export forge-project-parallel-ci-job-runs.Arun Isaac
* guix/forge/forge.scm: Export forge-project-parallel-ci-job-runs.
2025-03-28forge: Fix typo in spelling "configuration".Arun Isaac
* guix/forge/forge.scm (guix-channel-job-gexp): Replace configuraion with configuration in docstring.
2024-01-12forge: Deprecate derivation-job-gexp.Arun Isaac
* guix/forge/forge.scm: Import (guix deprecation). (derivation-job-gexp): Deprecate with guix-channel-job-gexp.
2024-01-11forge: Generalize guix-channel-job-gexp to non-package objects.Arun Isaac
* guix/forge/forge.scm (guix-channel-job-gexp): Use lower-object instead of package->derivation.
2024-01-11forge: Allow private variables to be built.Arun Isaac
Allowing only exported variables to be built is an unnecessary source of errors and user confusion. * guix/forge/forge.scm (guix-channel-job-gexp): Allow private variables to be built.
2024-01-11forge: Return list of built store paths from guix-channel-job-gexp.Arun Isaac
* guix/forge/forge.scm (guix-channel-job-gexp): Return list of built store paths from guix-channel-job-gexp.
2024-01-09forge: Limit number of parallel CI job runs.Arun Isaac
* guix/forge/forge.scm (<forge-project>)[parallel-ci-job-runs]: New field. * guix/forge/forge.scm (forge-ci-jobs): Add project context to CI jobs. (forge-ci-job-contexts): New function. (forge-ci-jobs-and-groups): Rename to forge-ci-jobs+contexts+groups. Also return <forge-laminar-context> objects. (forge-service-type): Call forge-ci-jobs+contexts+groups instead of forge-ci-jobs-and-groups. * doc/forge.skb (Reference)[<forge-project>]{parallel-ci-job-runs}: Document it.
2023-12-19forge: Allow building specific variables in channels.Arun Isaac
* guix/forge/forge.scm (<variable-specification>): New type. (guix-channel-job-gexp): Accept #:variables argument specifying what to build.
2023-10-04forge: Set repository ownership only when user field is set.Arun Isaac
* guix/forge/forge.scm (forge-activation): Set repository ownership only when user field is set.
2023-08-10forge: Import specific modules, not all of (gnu).Arun Isaac
* guix/forge/forge.scm: Import (gnu services) and (guix gexp) instead of (gnu).
2023-07-08forge: Show verbose build logs in guix-channel-job-gexp.Arun Isaac
* guix/forge/forge.scm (guix-channel-job-gexp): Add #:verbose? argument.
2023-07-05forge: Set TLS certificate paths in guix-channel-job-gexp.Arun Isaac
* guix/forge/forge.scm: Import (guix profiles). (guix-channel-job-gexp): Set TLS certificate paths.
2023-07-05Do not refer to (forge web).Arun Isaac
This reference was accidentally committed in the previous commit. * guix/forge/forge.scm: Do not import (forge web).
2023-07-05forge: Introduce guix-channel-job-gexp.Arun Isaac
* guix/forge/forge.scm: Import guile-bytestructures from (gnu packages guile), guix from (gnu packages package-management), (guix channels), guile-git from (forge guile-git), (forge tissue) and (forge web). (guix-channel-job-gexp): New public function.
2022-12-20forge: Refactor extension functions into named functions.Arun Isaac
* guix/forge/forge.scm (forge-service-type): Refactor lambda functions into ... (forge-ci-jobs, forge-ci-job-groups, forge-ci-jobs-and-groups, forge-cron-jobs, forge-webhooks): ... new functions.
2022-04-09forge: Do not try to trigger CI jobs when there are none.Arun Isaac
* guix/forge/forge.scm (ci-jobs-trigger-gexp): Import (ice-9 match). Do not try to trigger CI jobs when there are none to be triggered. (forge-service-type): Do not set up cron jobs and webhooks when there are no CI jobs to be triggered.
2022-03-28forge: Add trigger? field to forge-laminar-job.Arun Isaac
* guix/forge/laminar.scm (<forge-laminar-job>)[trigger?]: New field. * guix/forge/forge.scm (ci-jobs-trigger-gexp): Only trigger jobs for which trigger? is #t. * doc/forge.skb (Reference)[<forge-laminar-job>]: Document trigger?.
2022-03-28forge: Suffix -cron-job in script name.Arun Isaac
* guix/forge/forge.scm (forge-service-type): Suffix -cron-job in script name.
2022-03-28forge: Suffix -post-receive-hook in script name.Arun Isaac
* guix/forge/forge.scm (forge-activation): Suffix -post-receive-hook in script name.
2022-03-28forge: Import only laminar from (gnu packages ci).Arun Isaac
* guix/forge/forge.scm: Import only laminar from (gnu packages ci).
2022-03-19forge: Change ownership of parent directory of website directory.Arun Isaac
* guix/forge/forge.scm (forge-activation): Change ownership of parent directory of website directory, instead of changing the ownership of the website directory itself. * doc/forge.skb (Reference)[<forge-project>]: Document it.
2022-03-14forge: Allow deep clone on derivation jobs.Arun Isaac
* guix/forge/forge.scm (derivation-job-gexp): Accept #:deep-clone? argument and pass on to latest-git-checkout. * guix/forge/build/git.scm (download-git-to-store): Accept #:deep-clone? argument, and deep clone the git repository if it is #t. Explicitly specify the first commit to `git log' so that only the first commit message is displayed.
2022-03-02Move channel modules into subdirectory.Arun Isaac
We don't want the scm files in doc to be picked up on `guix pull'. * .guix-channel: New file. * forge: Move to guix/forge.