39 lines
1.2 KiB
YAML
39 lines
1.2 KiB
YAML
name: Host Maintenance
|
|
|
|
on:
|
|
schedule:
|
|
- cron: "0 3 * * *" # täglich 03:00
|
|
workflow_dispatch: # manuell startbar
|
|
|
|
jobs:
|
|
maintenance:
|
|
name: Update host system
|
|
runs-on: gitea-runner # MUSS exakt zum Runner-Label passen
|
|
|
|
steps:
|
|
# --- Debug / Sicherheit ---
|
|
- name: Show workflow context
|
|
run: |
|
|
echo "User: $(whoami)"
|
|
echo "Host: $(hostname)"
|
|
echo "Date: $(date)"
|
|
|
|
# --- Aufräumen ---
|
|
- name: Cleanup
|
|
run: |
|
|
sudo apt -y autoremove
|
|
sudo apt -y autoclean
|
|
|
|
# --- System Update ---
|
|
- name: Update packages
|
|
run: |
|
|
apt update
|
|
DEBIAN_FRONTEND=noninteractive apt-get --yes --assume-yes --allow-change-held-packages -o DPkg::options::="--force-confdef" -o DPkg::options::="--force-confold" --only-upgrade upgrade
|
|
sudo apt -y install needrestart
|
|
|
|
# reboot
|
|
- name: Reboot
|
|
run: |
|
|
[ cmd="needrestart -b -k -q -m e"; "$($cmd | grep NEEDRESTART-KCUR | awk '{print $2}')" != "$($cmd | grep NEEDRESTART-KEXP | awk '{print $2'})" ] && echo "Kernel unterschiedlich!" && reboot | at now + 3 minutes
|
|
|