blob: d000b135b693b723fa7a97139afb1db352f6111f (
plain) (
tree)
|
|
- name: Check if /etc is versioned
become: true
ansible.builtin.file:
path: /etc/.git/config
state: file
register: etc_versioned
- name: Fail if there're uncommitted changes in /etc
when: etc_versioned
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
- ansible.builtin.fail:
msg: |
There are uncommitted changes in /etc:
{{ git_status.stdout }}
when: git_status.stdout
- name: Rate pacman mirrors
become: true
ansible.builtin.shell: |
. /etc/os-release && rate-mirrors \
--allow-root \
--disable-comments \
--save /etc/pacman.d/mirrorlist \
"$ID"
- name: Commit pacman.d/mirrorlist
when: etc_versioned
become: true
block:
- name: Check for changes in /etc
ansible.builtin.shell: |
set -o pipefail && \
git status --porcelain=v1 \
| cut -c 4- \
| grep -G -v '^pacman.d/mirrorlist'
args:
chdir: /etc
register: git_status
changed_when: false
failed_when: git_status.rc not in [0, 1]
- name: Fail if there're other uncommitted changes
ansible.builtin.fail:
msg: |
How did this happen? Other files have been modified:
{{ git_status.stdout }}
when: git_status.rc == 0
- name: etckeeper commit
ansible.builtin.command: |
etckeeper commit 'rate-mirrors'
|