aboutsummaryrefslogtreecommitdiff
AgeCommit message (Expand)Author
2022-03-21doc: Explain what a post-receive-hook is and how it is set up.•••* doc/forge.skb (Tutorial): Explain what a post-receive-hook is and how it is set up. Arun Isaac
2022-03-21doc: Clarify double reference of (guix build utils).•••* doc/forge.skb (Tutorial): Clarify double reference of (guix build utils). Arun Isaac
2022-03-20doc: Link to G-expressions in the Guix manual.•••* doc/forge.skb (Tutorial): Link to G-expressions in the Guix manual. Arun Isaac
2022-03-20README: Add links to constituent software components.•••* README.org: Add links to constituent software components. Arun Isaac
2022-03-20website: Use Fira Code for code blocks.•••* 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). Arun Isaac
2022-03-20website: Use Charter as main body font.•••* 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. Arun Isaac
2022-03-20Makefile: Clean website files.•••* Makefile (clean): Clean website files. Arun Isaac
2022-03-20README: Link to manual from the home page.•••* README.org (Documentation): New section. Arun Isaac
2022-03-19doc: Mention minimum configurability to philosophy.•••* README.org (Philosophy), doc/forge.skb (Introduction)[Philosophy]: Mention minimum configurability. Arun Isaac
2022-03-19doc: List software components used by guix-forge.•••* README.org, doc/forge.skb (Introduction): List software components used by guix-forge. Arun Isaac
2022-03-19forge: Change ownership of parent directory of website directory.•••* 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. Arun Isaac
2022-03-15forge: Fix showing only first commit on shallow cloned repos.•••HEAD~1..HEAD fails on shallow cloned repos. * guix/forge/build/git.scm (download-git-to-store): Use `--max-count 1' instead of HEAD~1..HEAD to show only the first commit. Arun Isaac
2022-03-14forge: Allow deep clone on derivation jobs.•••* 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. Arun Isaac
2022-03-08forge: Add with-profile utility.•••* guix/forge/build/utils.scm: New file. Arun Isaac
2022-03-08doc: Reference source files inside guix directory.•••The source files are now nested one level deeper in the guix directory, and the references to the source files in the documentation need to be updated. * doc/forge.skb (Reference): Reference source files inside guix directory. Arun Isaac
2022-03-02Move channel modules into subdirectory.•••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. Arun Isaac
2022-02-28website: Use reduced font size to indicate code and samp.•••Use a slightly reduced font size instead of background color to indicate code. This is the style used by the skribilo documentation, and is much less in your face. * website/style.css (code): Unset background-color, padding-left and padding-right. (code, samp): Set font-size to 0.8em. Arun Isaac
2022-02-28forge: Require laminar service for forge-laminar service.•••The forge-laminar service should require the laminar service, and transparently set it up even if the user has not explicitly specified it. * forge/laminar.scm: Import (gnu services ci). (forge-laminar-service-type): Extend laminar-service-type with a dummy value, thus requiring it. Arun Isaac
2022-02-28forge: Specify default value for webhook-service-type.•••* forge/webhook.scm (webhook-service-type): Specify default value. Arun Isaac
2022-02-28forge: Remove unnecessary (guix gexp) import.•••* forge/forge.scm: Remove (guix gexp) import. Arun Isaac
2022-02-28doc: Add Tutorial.•••* Makefile (doc_snippets): New variable. ($(doc_html)): Depend on $(doc_snippets). * doc/forge.skb: Import (skribilo source lisp). (Tutorial): New chapter. * doc/snippets/tutorial.scm: New file. Arun Isaac
2022-02-28doc: Add table of contents.•••* doc/forge.skb: Add table of contents. Arun Isaac
2022-02-28forge: Append file:// to local git repository URLs before cloning.•••Shallow clone works on local git repositories only with a file:// URL. * forge/build/git.scm (download-git-to-store): Append file:// to local git repository URLs. Arun Isaac
2022-02-28forge: Do not use use-modules in with-packages.•••This composes better. * forge/utils.scm (with-packages): Do not use use-modules. Arun Isaac
2022-02-28forge: Clone the default branch, not any specific branch.•••* forge/build/git.scm (download-git-to-store): Demote branch to optional keyword argument. * forge/forge.scm (derivation-job-gexp): Do not pass the branch argument to download-git-to-store. * doc/forge.skb (Reference)[<forge-project>]: Document that the repository-branch field is unused. Arun Isaac
2022-02-28forge: Do not use use-modules in derivation-job-gexp.•••This composes better. * forge/forge.scm (derivation-job-gexp): Do not use use-modules. Arun Isaac
2022-02-28forge: Rename gexp-producer->derivation-output to derivation-job-gexp.•••derivation-job-gexp is less verbose. Besides, this function accepts forge projects and forge laminar jobs. So, there is no point pretending that this is a generic gexp function. * forge/forge.scm (gexp-producer->derivation-output): Rename to derivation-job-gexp. Arun Isaac
2022-02-28doc: Add Reference chapter.•••* doc/forge.skb (Reference): New chapter. Arun Isaac
2022-02-28doc: Add reference documentation machinery.•••* doc/skribilo.scm: Import (srfi srfi-1), (srfi srfi-9), (srfi srfi-26) and (srfi srfi-171). (<record>, <no-default>, <record-field>): New record types. (field-sexp->record-field, record-sexp->record, find-record-definition, expression->string): New functions. (record-documentation, record-field): New public functions. Arun Isaac
2022-02-28forge: Rename <forge-project-configuration> to <forge-project>.•••We need not suffix every record name with "configuration". Besides, <forge-project> is not directly a service configuration record. * forge/forge.scm (forge)[<forge-project-configuration>]: Rename to <forge-project>. Update all invocations of <forge-project> accessors. Arun Isaac
2022-02-28forge: Deprecate <forge-derivation-job>.•••* forge/forge.scm (<forge-derivation-job>): Delete record type. (<forge-configuration>)[guix-daemon-uri]: Delete field. (forge-project-configuration-laminar-jobs): Delete function. (forge-activation, forge-service-type): Use forge-project-configuration-ci-jobs instead of forge-project-configuration-laminar-jobs. (gexp-producer->job-script): Delete function. Arun Isaac
2022-02-28forge: Introduce gexp-producer->derivation-output.•••gexp-producer->derivation-output will allow us to deprecate <forge-derivation-job> and enable users to construct laminar jobs that build derivations with just <forge-laminar-job>. * forge/forge.scm (gexp-producer->derivation-output): New public function. Arun Isaac
2022-02-28forge: Thunk ci-jobs and run fields.•••These fields need to be thunked to allow the user access to this-record accessors when describing jobs. * forge/forge.scm (<forge-project-configuration>)[ci-jobs]: Thunk field. * forge/laminar.scm (<forge-laminar-job>)[run]: Thunk field. Arun Isaac
2022-02-28forge: Export record type predicates.•••Predicates are also a part of the public interface of a record type and are sometimes required. * forge/forge.scm: Export predicates forge-configuration?, forge-project-configuration? and forge-derivation-job?. * forge/laminar.scm: Export predicate forge-laminar-configuration?. Arun Isaac
2022-02-28forge: Export forge-project-configuration-name.•••* forge/forge.scm: Export forge-project-configuration-name. Arun Isaac
2022-02-28forge: Add this-record accessors.•••These this-record accessors will be required in thunked fields. * forge/forge.scm (<forge-project-configuration>): Add this-forge-project-configuration accessor and export it. Use it instead of this-record in the default value of the ci-jobs-trigger field. * forge/laminar.scm (<forge-laminar-job>): Add this-forge-laminar-job accessor and export it. Arun Isaac
2022-02-28manifest: Add manifest.•••* manifest.scm: New file. Arun Isaac
2022-02-28gitignore: Add gitignore.•••* .gitignore: New file. Arun Isaac
2022-02-28doc: Add manual.•••* Makefile (GUILD, SKRIBILO, sources, doc_skribilo_config, doc_skribilo_config_go, doc_sources, doc_html): New variables. (%.go, html, $(doc_html), website/manual/dev/en, clean): New targets. (website): Depend on website/manual/dev/en. (.PHONY): Add html and clean targets. * doc/forge.skb, doc/skribilo.scm: New files. Arun Isaac
2022-02-21README: Fix typo replacing guile-forge with guix-forge.•••* README.org (Philosophy): Fix typo replacing guile-forge with guix-forge. Arun Isaac
2022-02-18forge: Expand comment on grouping jobs in laminar.•••* forge/forge.scm (forge-service-type): Expand comment stating that jobs are grouped by project. Arun Isaac
2022-02-18forge: Allow extension of forge-service-type.•••* forge/forge.scm (forge-service-type): Allow extension of forge-service-type. Arun Isaac
2022-02-18forge: Shorten git download error message.•••* forge/build/git.scm (download-git-to-store): Remove git-fetch: prefix in error message. Arun Isaac
2022-02-10forge: Import (forge utils) for with-packages.•••* forge/forge.scm: Import (forge utils). Arun Isaac
2022-02-10forge: Print current commit before running CI job.•••This aids debugging especially when a job fails. * forge/build/git.scm (hline): New function. (download-git-to-store): Add #:show-commit? keyword argument. When show-commit? is #t, print current commit. * forge/forge.scm (gexp-producer->job-script): Pass #t as #:show-commit? to latest-git-checkout. Arun Isaac
2022-02-09forge: Implement our own git downloader.•••Implement our own git downloader independent of that provided by Guix. This is required for better control of the output, and to later print the current git commit. * forge/build/git.scm: Do not import (guix build git). Import (rnrs exceptions). (download-git-to-store): Do not accept #:git-command argument. Expect git and nss-certs to be in the environment. Do not call git-fetch from (guix build git). * forge/forge.scm: Import nss-certs from (gnu packages certs). (gexp-producer->job-script): Run in environment with the git-minimal and nss-certs packages. Do not pass #:git-command to latest-git-checkout. Arun Isaac
2022-02-09forge: Ungexp reason argument.•••* forge/forge.scm (ci-jobs-trigger-gexp): Ungexp reason argument. Arun Isaac
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