mirror of
https://seed.radicle.dev/rad:zwTxygwuz5LDGBq255RA2CbNGrz8.git
synced 2026-10-18 19:30:29 +08:00
131 lines
3.0 KiB
YAML
131 lines
3.0 KiB
YAML
- name: "is radicle-archive-keyring package installed already?"
|
|
shell: |
|
|
dpkg -l radicle-archive-keyring | grep '^ii '
|
|
register: radicle_archive_keyring
|
|
ignore_errors: true
|
|
|
|
- name: "install tools to install radicle-archive-keyring package"
|
|
when: radicle_archive_keyring.rc != 0
|
|
apt:
|
|
update_cache: true
|
|
name:
|
|
- curl
|
|
- gpg
|
|
state: present
|
|
|
|
- name: "download radicle-arcive-keying and install it"
|
|
when: radicle_archive_keyring.rc != 0
|
|
shell: |
|
|
set -x
|
|
tmp="$(mktemp -d)"
|
|
trap 'rm -rf "$tmp"' EXIT
|
|
|
|
cd "$tmp"
|
|
curl -O -sL https://radicle.xyz/apt/radicle-archive-keyring.deb
|
|
dpkg -i radicle-archive-keyring.deb
|
|
|
|
- name: "add Radicle APT repository to APT sources lists"
|
|
apt_repository:
|
|
repo: deb [signed-by=/usr/share/radicle/radicle-archive-keyring.asc] https://radicle.xyz/apt release main
|
|
|
|
- name: "install software for Radicle CI"
|
|
apt:
|
|
name:
|
|
- radicle
|
|
- radicle-ci-broker
|
|
- radicle-ci-ambient
|
|
- ambient-ci
|
|
- caddy
|
|
- xz-utils
|
|
- psmisc
|
|
|
|
- name: "create user 'ci'"
|
|
user:
|
|
name: ci
|
|
comment: Radicle CI
|
|
shell: /bin/bash
|
|
groups:
|
|
- kvm
|
|
|
|
- name: "create ~ci/.config/ambient"
|
|
file:
|
|
state: directory
|
|
path: /home/ci/.config/ambient
|
|
owner: ci
|
|
group: ci
|
|
|
|
- name: "configure Ambient"
|
|
copy:
|
|
src: ambient-config.yaml
|
|
dest: /home/ci/.config/ambient/config.yaml
|
|
|
|
- name: "configure caddy"
|
|
copy:
|
|
src: Caddyfile
|
|
dest: /etc/caddy/Caddyfile
|
|
|
|
- name: "create directory CI broker reports and Ambient run logs on the web"
|
|
file:
|
|
state: directory
|
|
path: /srv/http
|
|
owner: ci
|
|
group: ci
|
|
|
|
- name: "configure CI broker"
|
|
copy:
|
|
src: ci.yaml
|
|
dest: /home/ci/ci.yaml
|
|
|
|
- name: "configure Ambient adapter"
|
|
copy:
|
|
src: radicle-ci-ambient.yaml
|
|
dest: /home/ci/radicle-ci-ambient.yaml
|
|
|
|
- name: "download a virtual machine image for Ambient"
|
|
uri:
|
|
url: https://files.liw.fi/ambient/ambient.qcow2.xz
|
|
creates: /home/ci/ambient.qcow2.xz
|
|
dest: /home/ci/ambient.qcow2.xz
|
|
owner: ci
|
|
group: ci
|
|
|
|
- name: "uncompress Ambient VM image, if there's a new one"
|
|
shell: |
|
|
x=/home/ci/ambient.qcow2
|
|
if [ ! "$x" ] || [ "$x.xz" -nt "$x" ]; then
|
|
unxz --keep --force "$x.xz"
|
|
fi
|
|
|
|
- name: "set up Radicle node"
|
|
shell: |
|
|
sudo -i -u ci rad auth --alias "ci-{{ inventory_hostname }}" --stdin </dev/null
|
|
|
|
- name: "create systemd service for Radicle node"
|
|
copy:
|
|
src: radicle-node.service
|
|
dest: /etc/systemd/system/radicle-node.service
|
|
|
|
- name: "create systemd service for CI broker"
|
|
copy:
|
|
src: radicle-ci-broker.service
|
|
dest: /etc/systemd/system/radicle-ci-broker.service
|
|
|
|
- name: "reload systemd daemon"
|
|
systemd:
|
|
daemon_reload: true
|
|
|
|
- name: "restart Caddy"
|
|
systemd:
|
|
name: caddy
|
|
state: restarted
|
|
|
|
- name: "restart Radicle node"
|
|
systemd:
|
|
name: radicle-node
|
|
state: restarted
|
|
|
|
- name: "restart CI broker"
|
|
systemd:
|
|
name: radicle-ci-broker
|
|
state: restarted
|