Artem Goncharov 81c5e8ac5c
cleanup destination before copying doc (#9)
cleanup destination before copying doc

Reviewed-by: OpenTelekomCloud Bot <None>
2022-05-09 14:19:54 +00:00

127 lines
3.8 KiB
YAML

---
- name: Check base state for {{ doc_label }}
stat:
path: "{{ generate_doc_patch_base }}/{{ generate_doc_patch_base_location }}"
register: base_stat
- name: Check new state for {{ doc_label }}
stat:
path: "{{ generate_doc_patch_base }}/{{ generate_doc_patch_new_location }}"
register: new_stat
- name: Create reference {{ generate_doc_patch_repository }} repo
file:
path: "{{ generate_doc_patch_doc_location }}"
state: "directory"
when:
- "base_stat.stat.exists"
- "new_stat.stat.exists"
- "generate_doc_patch_git_patch_location is defined"
- name: Initialize fake git repository
command: "git init"
args:
chdir: "{{ generate_doc_patch_repo_location }}"
when:
- "base_stat.stat.exists"
- "new_stat.stat.exists"
- "generate_doc_patch_git_patch_location is defined"
- name: Copy {{ doc_label }} base version
copy:
src: "{{ generate_doc_patch_base }}/{{ generate_doc_patch_base_location }}/"
dest: "{{ generate_doc_patch_doc_location }}"
remote_src: true
when:
- "base_stat.stat.exists"
- "new_stat.stat.exists"
- "generate_doc_patch_git_patch_location is defined"
- name: Stage base version
command: "git add ."
args:
chdir: "{{ generate_doc_patch_repo_location }}"
when:
- "base_stat.stat.exists"
- "new_stat.stat.exists"
- "generate_doc_patch_git_patch_location is defined"
- name: Commit base version
command: "git commit -m 'base version'"
args:
chdir: "{{ generate_doc_patch_repo_location }}"
when:
- "base_stat.stat.exists"
- "new_stat.stat.exists"
- "generate_doc_patch_git_patch_location is defined"
- name: Drop {{ doc_label }} new version folder
file:
path: "{{ generate_doc_patch_doc_location }}"
state: "absent"
when:
- "base_stat.stat.exists"
- "new_stat.stat.exists"
- "generate_doc_patch_git_patch_location is defined"
- name: Copy {{ doc_label }} new version
copy:
src: "{{ generate_doc_patch_base }}/{{ generate_doc_patch_new_location }}/"
dest: "{{ generate_doc_patch_doc_location }}"
remote_src: true
when:
- "base_stat.stat.exists"
- "new_stat.stat.exists"
- "generate_doc_patch_git_patch_location is defined"
- name: Stage updated version
command: "git add ."
args:
chdir: "{{ generate_doc_patch_repo_location }}"
when:
- "base_stat.stat.exists"
- "new_stat.stat.exists"
- "generate_doc_patch_git_patch_location is defined"
- name: Perform git diff to see if there are changes
command: "git diff --staged"
register: diff_output
args:
chdir: "{{ generate_doc_patch_repo_location }}"
when:
- "base_stat.stat.exists"
- "new_stat.stat.exists"
- "generate_doc_patch_git_patch_location is defined"
- name: Commit updated version
command: "git commit -m 'Update {{ doc_label }}'"
args:
chdir: "{{ generate_doc_patch_repo_location }}"
when:
- "base_stat.stat.exists"
- "new_stat.stat.exists"
- "diff_output.stdout != ''"
- "generate_doc_patch_git_patch_location is defined"
- name: Generate {{ doc_label }} patch
shell: "git format-patch --binary -1 --stdout > {{ generate_doc_patch_git_patch_location }}"
args:
chdir: "{{ generate_doc_patch_repo_location }}"
when:
- "base_stat.stat.exists"
- "new_stat.stat.exists"
- "diff_output.stdout != ''"
- "generate_doc_patch_git_patch_location is defined"
- name: Generate {{ doc_label }} patch file
shell: "diff -ruN {{ generate_doc_patch_base_location }} {{ generate_doc_patch_new_location }} > {{ generate_doc_patch_diff_patch_location }}"
args:
chdir: "{{ generate_doc_patch_base }}"
register: diff_cmd
failed_when: "diff_cmd.rc >= 2"
changed_when: "diff_cmd.rc == 1"
when:
- "base_stat.stat.exists"
- "new_stat.stat.exists"
- "generate_doc_patch_diff_patch_location is defined"