From: Simon Ruderich Date: Thu, 26 Feb 2026 18:56:55 +0000 (+0100) Subject: README: minor improvements X-Git-Url: https://ruderich.org/simon/gitweb/?a=commitdiff_plain;h=HEAD;p=punyci%2Fpunyci.git README: minor improvements --- diff --git a/README.adoc b/README.adoc index b395076..e22572d 100644 --- a/README.adoc +++ b/README.adoc @@ -14,14 +14,12 @@ punyci is free software and licensed under GPL version 3 or later. Compile `punyci` with `go build` or `make`. -Setup `podman` for an unprivileged user. To receive mails `/usr/bin/sendmail` +Setup `podman` for an unprivileged user. To send mails `/usr/bin/sendmail` needs to be installed (provided by e.g. Postfix, nullmailer, etc.). Create a bare Git repository and call `punyci post-receive` from the post-receive hook. Alternatively, setup a regular Git repository and call `punyci post-commit` from the post-commit hook. -punyci can run on the same host or on a remote host via SSH. - == Usage @@ -49,11 +47,11 @@ Example (post-receive): This will create an email reporting the failure of the job. It's send to the current user the CI is running as (adapt with `~/.forward` or similar). The -container continues to run for about an hour. To debug the issue simply run -`podman exec -it $uuid-from-email bash` on the host where the CI is running. +container continues to run for an hour. To debug the issue simply run `podman +exec -it $uuid-from-email sh` on the host where the CI is running. If a job succeeds then no mail is generated. The only exception is if the -previous run of the job failed. Then a "fixed" mail is generated. Failing jobs +previous run of the job failed. Then a "fixed" mail is generated. Failed jobs are marked with an empty file `punyci-failed-$job` in the bare repository. The build log of the last job is stored in `punyci-log-$job` in the bare @@ -101,7 +99,7 @@ repository. Cache = true An unlimited number of jobs can be configured. They are run in sequence. A -failed job doesn't stop the following jobs from starting. +failing job doesn't stop the following jobs from starting. `Script` can be an arbitrary script (multiple lines with TOML's `"""` strings). If no shebang is present then `#!/bin/sh` is prepended. Otherwise @@ -129,6 +127,8 @@ For each job the following steps are executed: - If the script exits with a non-zero exit code wait for the container to exit with a timeout of one hour - Kill the container +- Send email if running in the background and the job either failed or was + fixed === Container