blob: 6775d52f0f8a76aba7ad66d963d4cd838bfcaec6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
acid(1)
=======
:doctype: manpage
:manmanual: acid Manual
:mansource: acid {release-version}
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.
|