summaryrefslogtreecommitdiff
path: root/ansible/radicle.liw.fi.yml
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2023-12-20 19:57:46 +0200
committerLars Wirzenius <liw@liw.fi>2023-12-20 19:57:46 +0200
commitad070f638cbc87e0c6d831d7737fcfe439d33ec1 (patch)
tree1ec3aba23735f6eba661970e1e72f6c482137890 /ansible/radicle.liw.fi.yml
parent19cf151f7a802b4fa566ede44de8ca39e3e72126 (diff)
downloadansibleness-ad070f638cbc87e0c6d831d7737fcfe439d33ec1.tar.gz
radicle.liw.fi: set up native CI
Signed-off-by: Lars Wirzenius <liw@liw.fi> Sponsored-by: author
Diffstat (limited to 'ansible/radicle.liw.fi.yml')
-rw-r--r--ansible/radicle.liw.fi.yml128
1 files changed, 128 insertions, 0 deletions
diff --git a/ansible/radicle.liw.fi.yml b/ansible/radicle.liw.fi.yml
index 9355239..14443a4 100644
--- a/ansible/radicle.liw.fi.yml
+++ b/ansible/radicle.liw.fi.yml
@@ -127,6 +127,134 @@
enabled: yes
daemon_reload: yes
+ - name: "install script to install Radicle CI stuff"
+ copy:
+ content: |
+ #!/bin/bash
+ set -xeuo pipefail
+
+ clone_install() {
+ local url dir root
+ url="$1"
+ dir="$2"
+ root="$3"
+
+ if [ ! -e "$dir" ]; then
+ git clone "$url" "$dir"
+ else
+ (cd "$dir" && git pull)
+ fi
+
+ (cd "$dir" && cargo install --path=. --root="$root")
+ }
+
+ clone_install https://radicle.liw.fi/zwTxygwuz5LDGBq255RA2CbNGrz8.git radicle-ci-broker "$(pwd)/root"
+ clone_install https://radicle.liw.fi/z3qg5TKmN83afz2fj9z3fQjU8vaYE.git radicle-native-ci "$(pwd)/root"
+
+ install root/bin/* $HOME/bin
+ dest: /home/liw/install-radicle-ci
+ owner: liw
+ group: liw
+ mode: 0755
+
+ - name: "install Radicle CI stuff"
+ shell: |
+ sudo -i -u liw bash -c 'cd /home/liw && install -d bin && ./install-radicle-ci'
+
+ - name: "install systemd unit for Radicle node"
+ copy:
+ content: |
+ [Unit]
+ After=syslog.target network.target
+ Description=Radicle Node
+
+ [Service]
+ Type=simple
+ ExecStart=/home/liw/.radicle/bin/radicle-node --listen 0.0.0.0:8776
+ Environment=RAD_HOME=/home/liw/.radicle
+ KillMode=process
+ Restart=never
+ RestartSec=1
+ User=liw
+ Group=liw
+
+ [Install]
+ WantedBy=default.target
+ dest: /lib/systemd/system/radicle-node.service
+
+ - name: "enable systemd unit for Radicle node"
+ systemd:
+ name: radicle-node
+ state: restarted
+ masked: no
+ enabled: yes
+ daemon_reload: yes
+
+ - name: "install Radicle CI broker config"
+ copy:
+ content: |
+ default_adapter: native
+ adapters:
+ native:
+ command: /home/liw/bin/radicle-native-ci
+ env:
+ RADICLE_NATIVE_CI: /home/liw/native-ci.yaml
+ filters:
+ - !And
+ - !Repository "rad:zZnk3hS8C3WAhnv7mWcCUToCqpBs"
+ - !AnyPatch
+ dest: /home/liw/ci-broker.yaml
+ owner: liw
+ group: liw
+ mode: 0644
+
+ - name: "create state directory for Radicle native CI"
+ file:
+ state: directory
+ path: /home/liw/native-ci.state
+ owner: liw
+ group: liw
+ mode: 0755
+
+ - name: "install Radicle native CI config"
+ copy:
+ content: |
+ state: /srv/http
+ dest: /home/liw/native-ci.yaml
+ owner: liw
+ group: liw
+ mode: 0644
+
+ - name: "install systemd unit for Radicle CI broker"
+ copy:
+ content: |
+ [Unit]
+ After=radicle-node.service
+ Description=Radicle CI broker
+
+ [Service]
+ Type=simple
+ Environment=RAD_HOME=/home/liw/.radicle
+ Environment=RUST_LOG=trace
+ ExecStart=bash -c '/home/liw/bin/ci-broker /home/liw/ci-broker.yaml >> /srv/http/broker.log'
+ KillMode=process
+ Restart=never
+ RestartSec=1
+ User=liw
+ Group=liw
+
+ [Install]
+ WantedBy=default.target
+ dest: /lib/systemd/system/radicle-ci-broker.service
+
+ - name: "enable systemd unit for Radicle CI broker"
+ systemd:
+ name: radicle-ci-broker
+ state: restarted
+ masked: no
+ enabled: yes
+ daemon_reload: yes
+
vars:
ansible_python_interpreter: /usr/bin/python3