You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ansible/test/integration/targets/ansible-galaxy-collection/tasks/build.yml

100 lines
3.4 KiB
YAML

---
- name: create a dangling symbolic link inside collection directory
ansible.builtin.file:
src: '/non-existent-path/README.md'
dest: '{{ galaxy_dir }}/scratch/ansible_test/my_collection/docs/README.md'
state: link
force: yes
- name: build basic collection based on current directory with dangling symlink
command: ansible-galaxy collection build {{ galaxy_verbosity }}
args:
chdir: '{{ galaxy_dir }}/scratch/ansible_test/my_collection'
register: fail_symlink_build
ignore_errors: yes
- name: assert that build fails due to dangling symlink
assert:
that:
- fail_symlink_build.failed
- '"Failed to find the target path" in fail_symlink_build.stderr'
- name: remove dangling symbolic link
ansible.builtin.file:
path: '{{ galaxy_dir }}/scratch/ansible_test/my_collection/docs/README.md'
state: absent
- name: build basic collection based on current directory
command: ansible-galaxy collection build {{ galaxy_verbosity }}
args:
chdir: '{{ galaxy_dir }}/scratch/ansible_test/my_collection'
register: build_current_dir
- name: get result of build basic collection on current directory
stat:
path: '{{ galaxy_dir }}/scratch/ansible_test/my_collection/ansible_test-my_collection-1.0.0.tar.gz'
register: build_current_dir_actual
- name: assert build basic collection based on current directory
assert:
that:
- '"Created collection for ansible_test.my_collection" in build_current_dir.stdout'
- build_current_dir_actual.stat.exists
- name: build basic collection based on relative dir
command: ansible-galaxy collection build scratch/ansible_test/my_collection {{ galaxy_verbosity }}
args:
chdir: '{{ galaxy_dir }}'
register: build_relative_dir
- name: get result of build basic collection based on relative dir
stat:
path: '{{ galaxy_dir }}/ansible_test-my_collection-1.0.0.tar.gz'
register: build_relative_dir_actual
- name: assert build basic collection based on relative dir
assert:
that:
- '"Created collection for ansible_test.my_collection" in build_relative_dir.stdout'
- build_relative_dir_actual.stat.exists
- name: fail to build existing collection without force
command: ansible-galaxy collection build scratch/ansible_test/my_collection {{ galaxy_verbosity }}
args:
chdir: '{{ galaxy_dir }}'
ignore_errors: yes
register: build_existing_no_force
- name: build existing collection with force
command: ansible-galaxy collection build scratch/ansible_test/my_collection --force {{ galaxy_verbosity }}
args:
chdir: '{{ galaxy_dir }}'
register: build_existing_force
- name: assert build existing collection
assert:
that:
- '"use --force to re-create the collection artifact" in build_existing_no_force.stderr'
- '"Created collection for ansible_test.my_collection" in build_existing_force.stdout'
- name: build collection containing ignored files
command: ansible-galaxy collection build
args:
chdir: '{{ galaxy_dir }}/scratch/ansible_test/ignore'
- name: list the created tar contents
command: tar -tf {{ galaxy_dir }}/scratch/ansible_test/ignore/ansible_test-ignore-1.0.0.tar.gz
register: tar_output
- name: assert ignored files are not present in the archive
assert:
that:
- item not in tar_output.stdout_lines
loop: '{{ collection_ignored_files }}'
- name: assert ignored directories are not present in the archive
assert:
that:
- item not in tar_output.stdout_lines
loop: '{{ collection_ignored_directories }}'