2.2 KiB
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 Go’s 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.