acid/acid.adoc

2.2 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 upon receiving push notifications from a Gitea instance, according to the passed configuration file.

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

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.

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, and build 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.

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 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.