summaryrefslogtreecommitdiffstats
path: root/test/integration/targets/git/tasks/checkout-new-tag.yml
diff options
context:
space:
mode:
Diffstat (limited to 'test/integration/targets/git/tasks/checkout-new-tag.yml')
-rw-r--r--test/integration/targets/git/tasks/checkout-new-tag.yml54
1 files changed, 54 insertions, 0 deletions
diff --git a/test/integration/targets/git/tasks/checkout-new-tag.yml b/test/integration/targets/git/tasks/checkout-new-tag.yml
new file mode 100644
index 0000000..eac73f6
--- /dev/null
+++ b/test/integration/targets/git/tasks/checkout-new-tag.yml
@@ -0,0 +1,54 @@
+# test for https://github.com/ansible/ansible-modules-core/issues/527
+# clone a repo, add a tag to the same commit and try to checkout the new commit
+
+
+- name: clear checkout_dir
+ file:
+ state: absent
+ path: "{{ checkout_dir }}"
+
+- name: checkout example repo
+ git:
+ repo: "{{ repo_dir }}/format1"
+ dest: "{{ checkout_dir }}"
+
+- name: get tags of head
+ command: git tag --contains
+ args:
+ chdir: "{{ checkout_dir }}"
+ register: listoftags
+
+- name: make sure the tag does not yet exist
+ assert:
+ that:
+ - "'newtag' not in listoftags.stdout_lines"
+
+- name: add tag in orig repo
+ command: git tag newtag
+ args:
+ chdir: "{{ repo_dir }}/format1"
+
+- name: update copy with new tag
+ git:
+ repo: "{{ repo_dir }}/format1"
+ dest: "{{checkout_dir}}"
+ version: newtag
+ register: update_new_tag
+
+- name: get tags of new head
+ command: git tag --contains
+ args:
+ chdir: "{{ checkout_dir }}"
+ register: listoftags
+
+- name: check new head
+ assert:
+ that:
+ - update_new_tag is not changed
+ - "'newtag' in listoftags.stdout_lines"
+
+
+- name: clear checkout_dir
+ file:
+ state: absent
+ path: "{{ checkout_dir }}"