From d834468e89026a1cc6689d5eee190eeb5dc38ed5 Mon Sep 17 00:00:00 2001
From: peanutduck <peanutduck@yahoo.com>
Date: Mon, 9 Aug 2021 23:27:07 +0800
Subject: [PATCH] Clean up offload-build artifacts tasks and files

---
 roles/archbuild/files/clean-offload-build         |  3 +++
 roles/archbuild/files/clean-offload-build.service | 10 ++++++++++
 roles/archbuild/files/clean-offload-build.timer   | 10 ++++++++++
 roles/archbuild/tasks/main.yml                    |  4 ++++
 4 files changed, 27 insertions(+)
 create mode 100755 roles/archbuild/files/clean-offload-build
 create mode 100644 roles/archbuild/files/clean-offload-build.service
 create mode 100644 roles/archbuild/files/clean-offload-build.timer

diff --git a/roles/archbuild/files/clean-offload-build b/roles/archbuild/files/clean-offload-build
new file mode 100755
index 000000000..b93137a97
--- /dev/null
+++ b/roles/archbuild/files/clean-offload-build
@@ -0,0 +1,3 @@
+#!/bin/bash -e
+
+find /home/*/.cache/offload-build/ -mtime +15 -name '*.pkg.tar*' -delete
diff --git a/roles/archbuild/files/clean-offload-build.service b/roles/archbuild/files/clean-offload-build.service
new file mode 100644
index 000000000..f33632a44
--- /dev/null
+++ b/roles/archbuild/files/clean-offload-build.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Clean up offload-build artifacts
+After=var-lib-archbuild.mount
+
+[Service]
+Type=oneshot
+ExecStart=/usr/local/bin/clean-offload-build
+Nice=19
+IOSchedulingClass=best-effort
+IOSchedulingPriority=7
diff --git a/roles/archbuild/files/clean-offload-build.timer b/roles/archbuild/files/clean-offload-build.timer
new file mode 100644
index 000000000..035216495
--- /dev/null
+++ b/roles/archbuild/files/clean-offload-build.timer
@@ -0,0 +1,10 @@
+[Unit]
+Description=Daily offload-build artifacts cleanup
+
+[Timer]
+OnCalendar=daily
+AccuracySec=24h
+Persistent=true
+
+[Install]
+WantedBy=timers.target
diff --git a/roles/archbuild/tasks/main.yml b/roles/archbuild/tasks/main.yml
index 98662a7e9..170ed1fe6 100644
--- a/roles/archbuild/tasks/main.yml
+++ b/roles/archbuild/tasks/main.yml
@@ -27,6 +27,7 @@
     - pkgdiffrepo
     - clean-chroots
     - clean-dests
+    - clean-offload-build
     - gitpkg
 
 - name: install archbuild config files
@@ -41,6 +42,8 @@
     - clean-chroots.service
     - clean-dests.timer
     - clean-dests.service
+    - clean-offload-build.timer
+    - clean-offload-build.service
     - var-lib-archbuilddest.mount
     - strictatime@.service
   notify:
@@ -105,6 +108,7 @@
   with_items:
     - clean-chroots.timer
     - clean-dests.timer
+    - clean-offload-build.timer
 
 - name: install makepkg.conf
   template: src=makepkg.conf.j2 dest=/etc/makepkg.conf owner=root group=root mode=0644
-- 
GitLab