Age | Commit message (Collapse) | Author |
|
* README.org: Add links to constituent software components.
|
|
* 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).
|
|
* 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.
|
|
* Makefile (clean): Clean website files.
|
|
* README.org (Documentation): New section.
|
|
* README.org (Philosophy), doc/forge.skb (Introduction)[Philosophy]:
Mention minimum configurability.
|
|
* README.org, doc/forge.skb (Introduction): List software components
used by guix-forge.
|
|
* 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.
|
|
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.
|
|
* 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.
|
|
* guix/forge/build/utils.scm: New file.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
* forge/webhook.scm (webhook-service-type): Specify default value.
|
|
* forge/forge.scm: Remove (guix gexp) import.
|
|
* 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.
|
|
* doc/forge.skb: Add table of contents.
|
|
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.
|
|
This composes better.
* forge/utils.scm (with-packages): Do not use use-modules.
|
|
* 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.
|
|
This composes better.
* forge/forge.scm (derivation-job-gexp): Do not use use-modules.
|
|
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.
|
|
* doc/forge.skb (Reference): New chapter.
|
|
* 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.
|
|
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.
|
|
* 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.
|
|
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.
|
|
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.
|
|
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?.
|
|
* forge/forge.scm: Export forge-project-configuration-name.
|
|
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.
|
|
* manifest.scm: New file.
|
|
* .gitignore: New file.
|
|
* 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.
|
|
* README.org (Philosophy): Fix typo replacing guile-forge with
guix-forge.
|
|
* forge/forge.scm (forge-service-type): Expand comment stating that
jobs are grouped by project.
|
|
* forge/forge.scm (forge-service-type): Allow extension of
forge-service-type.
|
|
* forge/build/git.scm (download-git-to-store): Remove git-fetch:
prefix in error message.
|
|
* forge/forge.scm: Import (forge utils).
|
|
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.
|
|
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.
|
|
* forge/forge.scm (ci-jobs-trigger-gexp): Ungexp reason argument.
|
|
* forge/forge.scm (ci-jobs-trigger-gexp): Accept #:reason keyword
argument and set LAMINAR_REASON.
(forge-activation, forge-service-type): Pass #:reason keyword
argument.
|
|
* forge/forge.scm (ci-jobs-trigger-gexp): Accept <forge-laminar-job>
objects.
(forge-activation, forge-service-type): Pass <forge-laminar-job>
objects.
|
|
* 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.
|