From 7210765c81c6171bb8456ada7bc6e6264f68c4ba Mon Sep 17 00:00:00 2001
From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
Date: Thu, 22 Sep 2016 20:45:11 +0200
Subject: [PATCH] roles/archbuild: Add user units for nightly builds

---
 roles/archbuild/files/mkpkg@.service | 10 ++++++++++
 roles/archbuild/files/mkpkg@.timer   |  9 +++++++++
 roles/archbuild/tasks/main.yml       |  6 ++++++
 3 files changed, 25 insertions(+)
 create mode 100644 roles/archbuild/files/mkpkg@.service
 create mode 100644 roles/archbuild/files/mkpkg@.timer

diff --git a/roles/archbuild/files/mkpkg@.service b/roles/archbuild/files/mkpkg@.service
new file mode 100644
index 000000000..a3336e22e
--- /dev/null
+++ b/roles/archbuild/files/mkpkg@.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Build of %I
+RequiresMountsFor=/var/lib/archbuild
+
+[Service]
+Type=oneshot
+ExecStart=/usr/local/bin/mkpkg %I
+Nice=19
+IOSchedulingClass=best-effort
+IOSchedulingPriority=7
diff --git a/roles/archbuild/files/mkpkg@.timer b/roles/archbuild/files/mkpkg@.timer
new file mode 100644
index 000000000..aedfb9b0e
--- /dev/null
+++ b/roles/archbuild/files/mkpkg@.timer
@@ -0,0 +1,9 @@
+[Unit]
+Description=Nightly build of %I
+
+[Timer]
+OnCalendar=22:00
+RandomizedDelaySec=8h
+
+[Install]
+WantedBy=timers.target
diff --git a/roles/archbuild/tasks/main.yml b/roles/archbuild/tasks/main.yml
index 6ec58e33c..92a563e09 100644
--- a/roles/archbuild/tasks/main.yml
+++ b/roles/archbuild/tasks/main.yml
@@ -24,6 +24,12 @@
   notify:
     - daemon reload
 
+- name: install archbuild user units
+  copy: src={{ item }} dest=/etc/systemd/user/{{ item }} owner=root group=root mode=0644
+  with_items:
+    - mkpkg@.timer
+    - mkpkg@.service
+
 - name: start and enable archbuild mounts
   service: name={{ item }} enabled=yes state=started
   with_items:
-- 
GitLab