feat: manage Seriatim source prerequisites
This commit is contained in:
76
tasks/source.yml
Normal file
76
tasks/source.yml
Normal file
@@ -0,0 +1,76 @@
|
||||
---
|
||||
- name: Create Seriatim source parent directory
|
||||
ansible.builtin.file:
|
||||
path: "{{ seriatim_source_dir | dirname }}"
|
||||
state: directory
|
||||
owner: root
|
||||
group: root
|
||||
mode: "0755"
|
||||
|
||||
- name: Check out selected Seriatim source
|
||||
ansible.builtin.git:
|
||||
repo: "{{ seriatim_repository_url }}"
|
||||
dest: "{{ seriatim_source_dir }}"
|
||||
version: "{{ seriatim_source_ref }}"
|
||||
update: true
|
||||
force: true
|
||||
accept_hostkey: false
|
||||
|
||||
- name: Inspect Seriatim checkout cleanliness
|
||||
ansible.builtin.command:
|
||||
argv:
|
||||
- "{{ seriatim_git_path_result.stdout }}"
|
||||
- -C
|
||||
- "{{ seriatim_source_dir }}"
|
||||
- status
|
||||
- --porcelain
|
||||
- --untracked-files=all
|
||||
- --ignored
|
||||
register: seriatim_source_status
|
||||
changed_when: false
|
||||
|
||||
- name: Reset tracked Seriatim source changes
|
||||
ansible.builtin.command:
|
||||
argv:
|
||||
- "{{ seriatim_git_path_result.stdout }}"
|
||||
- -C
|
||||
- "{{ seriatim_source_dir }}"
|
||||
- reset
|
||||
- --hard
|
||||
- HEAD
|
||||
when: seriatim_source_status.stdout | length > 0
|
||||
changed_when: true
|
||||
|
||||
- name: Remove untracked and ignored Seriatim source content
|
||||
ansible.builtin.command:
|
||||
argv:
|
||||
- "{{ seriatim_git_path_result.stdout }}"
|
||||
- -C
|
||||
- "{{ seriatim_source_dir }}"
|
||||
- clean
|
||||
- -dffx
|
||||
when: seriatim_source_status.stdout | length > 0
|
||||
changed_when: true
|
||||
|
||||
- name: Enforce Seriatim source ownership
|
||||
ansible.builtin.file:
|
||||
path: "{{ seriatim_source_dir }}"
|
||||
state: directory
|
||||
owner: root
|
||||
group: root
|
||||
recurse: true
|
||||
|
||||
- name: Resolve selected Seriatim source commit
|
||||
ansible.builtin.command:
|
||||
argv:
|
||||
- "{{ seriatim_git_path_result.stdout }}"
|
||||
- -C
|
||||
- "{{ seriatim_source_dir }}"
|
||||
- rev-parse
|
||||
- HEAD
|
||||
register: seriatim_source_commit_result
|
||||
changed_when: false
|
||||
|
||||
- name: Record selected Seriatim source commit
|
||||
ansible.builtin.set_fact:
|
||||
seriatim_source_commit: "{{ seriatim_source_commit_result.stdout }}"
|
||||
Reference in New Issue
Block a user