aboutsummaryrefslogtreecommitdiff
path: root/acid.yaml.example
diff options
context:
space:
mode:
Diffstat (limited to 'acid.yaml.example')
-rw-r--r--acid.yaml.example64
1 files changed, 64 insertions, 0 deletions
diff --git a/acid.yaml.example b/acid.yaml.example
new file mode 100644
index 0000000..a80cc4c
--- /dev/null
+++ b/acid.yaml.example
@@ -0,0 +1,64 @@
+---
+# Path to an SQLite database file, which will be automatically created.
+db: acid.db
+# Address to listen on.
+listen: :http
+# Externally visible base URL that Gitea, its users, and RPC can connect to.
+# The root/push endpoint accepts Gitea push notifications.
+root: http://acid
+
+# Arbitrary secret that Gitea and RPC will sign their requests with.
+secret: 0123456789abcde
+# Base URL of the Gitea instance.
+gitea: http://gitea
+# Gitea access token used for writing commit statuses back to repositories.
+token: 0123456789abcdefghijklmnopqrstuvwxyzABCD
+
+# Arbitrary sh script to notify about the results of finished tasks.
+notify: |
+ xN irc://acid@/acid?skipjoin&usenotice <<END
+ {{.FullName}} {{.Hash}}: {{.RunnerName}} {{.State}} {{.URL}}
+ END
+
+# List of all available runners for projects, keyed by an ID (.Runner).
+runners:
+ arch:
+ # Descriptive name of the runner (.RunnerName).
+ name: Arch Linux
+
+ # Executable to make the runner present.
+ # It may spawn a container, run a virtual machine, or even just sleep.
+ # If it exits prematurely, the task fails.
+ run: runners/arch.sh
+
+ # SSH configuration for connecting to the runner.
+ ssh:
+ # Username to connect as.
+ user: ci
+ # Adress of the SSH server.
+ address: arch:22
+ # Path to an SSH private key file, which may be used for public key auth.
+ identity: data/id_rsa
+
+ # Arbitrary shell script to prepare the stage for project scripts.
+ setup: |
+ set -ex
+ sudo pacman -Syu --noconfirm git
+ git clone --recursive '{{.CloneURL}}' '{{.Repo}}'
+ cd '{{.Repo}}'
+ git -c advice.detachedHead=false checkout '{{.Hash}}'
+
+# Configuration for individual Gitea repositories.
+projects:
+ # Full repository name (.FullName, .Owner/.Repo).
+ owner/repo:
+ runners:
+ arch:
+ # Project setup script, meant to install dependencies.
+ setup: |
+ sudo pacman -S --noconfirm findutils coreutils
+
+ # Project build script.
+ build: |
+ echo Computing line count...
+ find . -not -path '*/.*' -type f -print0 | xargs -0 cat | wc -l