--- - name: Ensure Matrix base path exists ansible.builtin.file: path: "{{ item }}" state: directory mode: "{{ matrix_base_data_path_mode }}" owner: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}" with_items: - "{{ matrix_base_data_path }}" - name: Preserve vars.yml on the server for easily restoring if it gets lost later on ansible.builtin.copy: src: "{{ matrix_vars_yml_snapshotting_src }}" dest: "{{ matrix_base_data_path }}/vars.yml" owner: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}" 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 }}" driver: bridge - name: Ensure matrix-remove-all script created ansible.builtin.template: src: "{{ role_path }}/templates/usr-local-bin/matrix-remove-all.j2" dest: "{{ matrix_local_bin_path }}/matrix-remove-all" mode: 0750