aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/roles/snap/tasks/main.yml
blob: 0be58cf3a4ac968023c2de16c90ec523bdbb237a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
- name: Check if snap is installed
  command: snap --version
  register: snap_version
  changed_when: no
  failed_when: no
  ignore_errors: yes

- become: yes
  when: snap_version.rc == 0 and etc_versioned
  block:
    - name: There are uncommitted changes
      shell: cd /etc && git status --porcelain=v1
      register: git_status
      changed_when: no

    - name: All changes are snap changes
      shell: cd /etc && git status --porcelain=v1 | cut -c 4- | grep -G -v '^systemd/system/' | grep -G -v '/snap\.\|snap-'
      register: only_snap
      changed_when: no
      ignore_errors: yes
  
    - name: Commit snap changes
      command: etckeeper commit 'after snap run'
      when: git_status.stdout and only_snap.rc != 0