umorpha-boxes/modules/service-eclipse-follower.sh

52 lines
1.1 KiB
Bash

#!/hint/bash -euE
# Copyright (C) 2024 Umorpha Systems
# SPDX-License-Identifier: AGPL-3.0-or-later
load_module "$(dirname -- "${BASH_SOURCE[0]}")/base-eclipse-creds.sh"
packages+=(
make
pandoc-cli
wdiff
git
lua
)
post_install+=(20:eclipse-follower:post_install)
eclipse-follower:post_install() {
local arg_mountpoint=$1
install -Dm755 /dev/stdin "$arg_mountpoint/etc/eclipse/follower.sh" <<-'EOF'
#!/bin/sh
# Copyright (C) 2024 Umorpha Systems
# SPDX-License-Identifier: AGPL-3.0-or-later
set -ex
job=$(eclipse-pick)
eclipse-run "$job"
EOF
install -Dm755 /dev/stdin "$arg_mountpoint/etc/systemd/system/eclipse-follower.service" <<-'EOF'
# Copyright (C) 2024 Umorpha Systems
# SPDX-License-Identifier: AGPL-3.0-or-later
[Unit]
Description=Eclipse CI follower process
Wants=network-online.target
After=network-online.target
[Service]
User=eclipse
Group=eclipse
Type=oneshot
Environment="GIT_SSH_COMMAND=ssh -i /etc/umorpha-secrets/eclipse-sshkey.priv"
ExecStart=/etc/eclipse/follower.sh
Restart=always
[Install]
WantedBy=multi-user.target
EOF
systemctl --root="$arg_mountpoint" enable eclipse-follower.service
}