summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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.
2023-07-05tissue: Use latest tissue with a patched libgit2.Arun Isaac
* guix/forge/guile-git.scm: New file. * guix/forge/tissue.scm: Import guile-git from (forge guile-git), (guix git-download) and (guix packages). Import tissue with a guix: prefix. (tissue): New public variable.
2023-07-04webhook: Export webhook package.Arun Isaac
* guix/forge/webhook.scm (webhook): Make public.
2023-05-30tissue.scm: Add current directory to load path.Arun Isaac
* tissue.scm: Add current directory to load path.
2023-03-18tissue: Use upstream Guix tissue package.Arun Isaac
* guix/forge/tissue.scm: Do not import (gnu packages autotools), (gnu packages compression), (gnu packages gettext), (gnu packages guile), (gnu packages guile-xyz), (gnu packages skribilo), (guix build-system gnu), (guix download), (guix git-download), (guix licenses) and (guix packages). (skribilo-latest, guile-xapian-latest, tissue): Delete variables.
2023-03-09doc: Explain with-imported-modules and use-modules.Arun Isaac
* doc/forge.skb (Tutorial): Explain why both with-imported-modules and use-modules are necessary.
2023-02-04tissue.scm: Use tissue.Arun Isaac
We start using tissue as our issue tracker and for building our website. * tissue.scm: New file. * .gitignore: Add .tissue. Remove doc/*.go, doc/*.html, website/fonts, website/index.html and website/manual. * Makefile, build-aux/build-home-page.el: Delete files. * manifest.scm: Import (forge tissue). Do not import (gnu packages guile). (manifest): Add tissue. Remove guile-3.0 and skribilo.
2023-02-04website: Use skribilo for home page.Arun Isaac
* website/index.skb: New file.
2023-02-03doc: Identify chapters.Arun Isaac
* doc/forge.skb: Identify each chapter with a unique identifier.
2023-01-31tissue: Conditionally embed socket directory creation G-expression.Arun Isaac
Prior to this, when an IP socket was used, we would be running forge-unix-socket-path on it and thus erroring out. * guix/forge/tissue.scm (tissue-activation): Do not embed the socket directory creation G-expression unless the socket is a Unix socket.
2023-01-30socket: Replace string-contains? with string-contains.Arun Isaac
There is no string-contains? function. Ironically string-contains? is indeed the better name since it is a predicate. * guix/forge/socket.scm (ipv4-address?, ipv6-address?): Replace string-contains? with string-contains.
2023-01-27tissue: Update to 0.1.0.Arun Isaac
* guix/forge/tissue.scm: Import lzip from (gnu packages compression). Import (guix download). (tissue): Update to 0.1.0. [source]: Use url-fetch. [native-inputs]: Add lzip.
2023-01-20tissue: Use latest guile-xapian commit.Arun Isaac
* guix/forge/tissue.scm (guile-xapian-latest): New variable. (tissue)[inputs]: Replace guile-xapian-latest with guile-xapian.
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-10-17webhook: Replace lambda function with define function.Arun Isaac
* guix/forge/webhook.scm (webhook-shepherd-service): Replace lambda function with define function.
2022-10-17webhook: Run as webhook user and group.Arun Isaac
* guix/forge/webhook.scm (%webhook-accounts): New variable. (webhook-activation): chown log directory to webhook user and group. (webhook-shepherd-service): Run as webhook user and group. (webhook-service-type): Extend account-service-type.
2022-10-17webhook: Use least-authority-wrapper.Arun Isaac
* guix/forge/webhook.scm: Import (gnu build linux-container), (gnu system file-systems) and (guix least-authority). (webhook-shepherd-service): Deprecate make-forkexec-constructor/container in favor of least-authority-wrapper.
2022-10-17webhook: Use <forge-*-socket> to configure socket.Arun Isaac
* doc/forge.skb (Reference)[<webhook-configuration>]: Replace ip and port fields with the socket field. * guix/forge/webhook.scm: Import (forge socket). (<webhook-configuration>): Replace ip and port fields with the socket field. (webhook-shepherd-service): Reference the socket field instead of the ip and port fields.
2022-10-17tissue: Use least-authority-wrapper.Arun Isaac
* guix/forge/tissue.scm: Import (gnu build linux-container), (gnu system file-systems) and (guix least-authority). (tissue-shepherd-service): Deprecate make-forkexec-constructor/container in favor of least-authority-wrapper.
2022-09-15Revert "tissue: Set ownership of state directory recursively."Arun Isaac
This reverts commit f6beefdeacb8f1e67844142d73fc3e2de38db254. The ownership of the state directory is set on a per-host basis. The state directory is not owned completely by the tissue user.
2022-09-15tissue: Set ownership of state directory recursively.Arun Isaac
* guix/forge/tissue.scm (tissue-activation): Set ownership of state directory recursively.
2022-07-11tissue: Invoke `tissue web' instead of `tissue run-web'.Arun Isaac
tissue has made a breaking change renaming the run-web subcommand to the web subcommand. * guix/forge/tissue.scm (tissue-shepherd-service): Invoke `tissue web' instead of `tissue run-web'.
2022-07-11tissue: Update to 0.1.0-1.6d6285d.Arun Isaac
* guix/forge/tissue.scm (tissue): Update to 0.1.0-1.6d6285d.
2022-07-06tissue: Use skribilo from upstream git repository.Arun Isaac
The skribilo gemtext reader, originally developed on the fork at git.systemreboot.net, has been merged upstream. So, we should prefer the upstream version. * guix/forge/tissue.scm (skribilo-latest)[source]: Use skribilo from upstream git repository, not the fork at git.systemreboot.net.
2022-07-06tissue: Add tissue service.Arun Isaac
* guix/forge/tissue.scm: New file.
2022-07-05socket: Introduce <forge-*-socket> types.Arun Isaac
<forge-*-socket> will be a universal type to specify IP addresses, ports and Unix sockets across all guix-forge services. * guix/forge/socket.scm: New file. * doc/forge.skb (Reference): Document <forge-ip-socket> and <forge-unix-socket>.
2022-06-01doc: Label file as post-receive, instead of post-receive-hook.Arun Isaac
* doc/forge.skb (Tutorial, Reference): Label file as post-receive, instead of post-receive-hook.
2022-06-01doc: Move comma displaced by Emacs lispy-mode.Arun Isaac
* doc/forge.skb (Reference): Move comma displaced by Emacs lispy mode.
2022-04-09utils: Implement with-packages using with-manifest.Arun Isaac
* guix/forge/utils.scm (profile-with-packages, environment-with-packages): Delete functions. (with-packages): Implement in terms of with-manifest.
2022-04-09utils: Add with-manifest.Arun Isaac
* guix/forge/utils.scm: Import (guix modules). (with-manifest): New function.
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-04-09manifest.scm: Add font-charter and font-fira-code.Arun Isaac
* manifest.scm: Import (gnu packages fonts) and (guix utils). (font-charter, font-fira-code): New variables. Add font-charter and font-fira-code to manifest.
2022-04-09manifest.scm: Use a later unreleased version of skribilo.Arun Isaac
* manifest.scm: Import (gnu packages autotools), (gnu packages gettext), (gnu packages guile), (gnu packages skribilo), (guix git-download) and (guix packages). (skribilo): New variable. List guile-3.0 and skribilo in the manifest.
2022-04-08doc: Link to ci-jobs-trigger-gexp definition.Arun Isaac
* doc/forge.skb (Tutorial): Link mention of post-receive-hook script to the in-source definition of ci-jobs-trigger-gexp.
2022-04-08doc: Create dummy G-expression reader.Arun Isaac
* doc/skribilo.scm: Extend the reader with a dummy G-expression reader.
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-28laminar: Suffix .run and .after in script names.Arun Isaac
* guix/forge/laminar.scm (forge-laminar-activation): Suffix .run and .after in script names.
2022-03-28webhook: Suffix -webhook in script name.Arun Isaac
* guix/forge/webhook.scm (hooks-json-gexp): Suffix -webhook in script name.
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-21doc: Explain what a post-receive-hook is and how it is set up.Arun Isaac
* doc/forge.skb (Tutorial): Explain what a post-receive-hook is and how it is set up.
2022-03-21doc: Clarify double reference of (guix build utils).Arun Isaac
* doc/forge.skb (Tutorial): Clarify double reference of (guix build utils).
2022-03-20doc: Link to G-expressions in the Guix manual.Arun Isaac
* doc/forge.skb (Tutorial): Link to G-expressions in the Guix manual.
2022-03-20README: Add links to constituent software components.Arun Isaac
* README.org: Add links to constituent software components.
2022-03-20website: Use Fira Code for code blocks.Arun Isaac
* Makefile (fonts): Add FiraCode-Regular.woff2 and FiraCode-SemiBold.woff2. * website/style.css (@font-face: FiraCode-Regular, @font-face: FiraCode-SemiBold): New font faces. (pre, code, samp): Set font-family to 'Fira Code'; (pre): Set font-size to 0.9em. (code, samp): Set font-size to 600 (semi-bold).
2022-03-20website: Use Charter as main body font.Arun Isaac
* Makefile (fonts): New variable. (website/fonts): New target. (website): Depend on website/fonts. (clean): Clean website/fonts. * website/style.css (@font-face: Charter): New font face. (body): Set font-family to Charter. Set font-size to 20px. * .gitignore: Add website/fonts.
2022-03-20Makefile: Clean website files.Arun Isaac
* Makefile (clean): Clean website files.
2022-03-20README: Link to manual from the home page.Arun Isaac
* README.org (Documentation): New section.
2022-03-19doc: Mention minimum configurability to philosophy.Arun Isaac
* README.org (Philosophy), doc/forge.skb (Introduction)[Philosophy]: Mention minimum configurability.