|
|
|
@@ -19,6 +19,59 @@ |
|
|
|
mode: '0660' |
|
|
|
when: "matrix_vars_yml_snapshotting_enabled | bool" |
|
|
|
|
|
|
|
- name: Save current git-repo status on the target to aid with restoring in case of problems |
|
|
|
block: |
|
|
|
- name: Get local git hash |
|
|
|
delegate_to: 127.0.0.1 |
|
|
|
become: false |
|
|
|
register: git_describe |
|
|
|
shell: |
|
|
|
git describe |
|
|
|
--always |
|
|
|
--tags |
|
|
|
--dirty |
|
|
|
--long |
|
|
|
--all |
|
|
|
|
|
|
|
- set_fact: |
|
|
|
git_hash: "{{ git_describe.stdout }}" |
|
|
|
|
|
|
|
- name: Git hash |
|
|
|
debug: |
|
|
|
msg: "Git hash: {{ git_hash }}" |
|
|
|
|
|
|
|
- name: Save git hash in git_hash.yml |
|
|
|
become: false |
|
|
|
local_action: |
|
|
|
copy |
|
|
|
content="git_hash_last_run{{ ":" }} {{ git_hash }}\n" |
|
|
|
dest="{{ matrix_vars_yml_snapshotting_src }}/git_hash.yml" |
|
|
|
|
|
|
|
- name: Copy git_hash.yml file to target |
|
|
|
copy: |
|
|
|
src: "{{ matrix_vars_yml_snapshotting_src }}/git_hash.yml" |
|
|
|
dest: "{{ matrix_base_data_path }}/git_hash.yml" |
|
|
|
owner: "{{ matrix_user_username }}" |
|
|
|
group: "{{ matrix_user_groupname }}" |
|
|
|
mode: '0660' |
|
|
|
|
|
|
|
rescue: |
|
|
|
- name: GIT not found error |
|
|
|
ansible.builtin.debug: |
|
|
|
msg: >- |
|
|
|
Couldn't find GIT on the local machine. Continuing without saving the GIT hash. |
|
|
|
You can disable saving the GIT hash by setting 'git_save_hash: false' in vars.yml |
|
|
|
when: "git_describe.stderr.find('not found') != -1" |
|
|
|
|
|
|
|
- name: GIT hash error |
|
|
|
ansible.builtin.fail: |
|
|
|
msg: >- |
|
|
|
Error when trying to get the GIT hash. |
|
|
|
You can disable saving the GIT hash by setting 'git_save_hash: false' in vars.yml |
|
|
|
when: "git_describe.stderr.find('not found') == -1" |
|
|
|
|
|
|
|
when: "matrix_vars_yml_snapshotting_enabled|bool and git_save_hash|bool" |
|
|
|
|
|
|
|
- name: Ensure Matrix network is created in Docker |
|
|
|
community.docker.docker_network: |
|
|
|
name: "{{ matrix_docker_network }}" |
|
|
|
|