acid/acid.adoc

2.9 KiB
Raw Blame History

acid(1)

Name

acid - A Continuous Integration Daemon

Synopsis

acid [OPTION]…​ acid.yaml [COMMAND…​]

Description

acid run without command arguments will start an HTTP server that creates and executes tasks against git(1) commits from a particular Gitea instance, in accordance with the passed configuration file.

When a command is passed, acid will relay it to that running instance of itself as an RPC call.

Tasks can be triggered to run either upon receiving Gitea push events on the /push endpoint, and/or using the RPC commands.

Options

-version

Output version information and exit.

Commands

enqueue OWNER REPO REF [RUNNER]…​

Create new or restart existing tasks for the given reference, which will be resolved to a full commit hash.

restart [ID]…​

Schedule tasks with the given IDs to be rerun. Run this command without arguments to pick up external database changes.

reload

Reload configuration.

Configuration

For help with creating the configuration file, consult the acid.yaml.example file present in the distribution.

All paths are currently relative to the directory you launch acid from.

The notify, setup, build, and deploy scripts are processed using Gos text/template package, and take an object describing the task, which has the following fields:

ID

Unique integer ID for each task.

Owner

Gitea user owning the repository.

Repo

Name of the repository.

FullName

Full name of the repository, including the owner.

Hash

Commit hash pertaining to the task.

Runner

Runner ID.

RunnerName

Descriptive name of the runner.

Created, Changed

*time.Time of task creation and last task state change respectively, or nil if not known.

CreatedAgo, ChangedAgo

Abbreviated human-friendly relative elapsed time duration since Created and Changed respectively.

Duration

*time.Duration of the last run in seconds, or nil if not known.

URL

acid link to the task, where its log output can be seen.

RepoURL

Gitea link to the repository.

CommitURL

Gitea link to the commit.

CloneURL

Gitea link for cloning the repository over HTTP.

The special quote template function quotes fields for safe usage in sh(1) command arguments.

Runners

Runners and deploy scripts receive the following additional environment variables:

ACID_ROOT

The same as the base directory for configuration.

ACID_RUNNER

The same as Runner in script templates.

Reporting bugs

Use https://git.janouch.name/p/acid to report bugs, request features, or submit pull requests.

See also

git(1), sh(1)