--- - 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 }}"