aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/roles/snap/tasks/main.yml
diff options
context:
space:
mode:
Diffstat (limited to 'src/roles/snap/tasks/main.yml')
-rw-r--r--src/roles/snap/tasks/main.yml27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/roles/snap/tasks/main.yml b/src/roles/snap/tasks/main.yml
new file mode 100644
index 0000000..cce49b0
--- /dev/null
+++ b/src/roles/snap/tasks/main.yml
@@ -0,0 +1,27 @@
+- name: As root user
+ become: true
+ block:
+ - name: Check for changes in /etc
+ ansible.builtin.command: git status --porcelain=v1
+ args:
+ chdir: /etc
+ register: git_status
+ changed_when: false
+ failed_when: false
+
+ - name: All changes in /etc are snap changes?
+ ansible.builtin.shell: |
+ set -o pipefail && \
+ git status --porcelain=v1 \
+ | cut -c 4- \
+ | grep -G -v '^systemd/system/' \
+ | grep -G -v '/snap\.\|snap-'
+ args:
+ chdir: /etc
+ register: only_snap
+ changed_when: false
+ failed_when: false
+
+ - name: Commit changes in /etc
+ ansible.builtin.command: etckeeper commit 'after snap run'
+ when: git_status.stdout and only_snap.rc != 0