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-scm/tasks/test_manifest_metadata.yml

56 lines
1.7 KiB
YAML

- name: Test installing a collection from a git repo containing a MANIFEST.json
block:
- name: Create a temp directory for building the collection
file:
path: '{{ galaxy_dir }}/scratch'
state: directory
- name: Initialize a collection
command: 'ansible-galaxy collection init namespace_3.collection_1'
args:
chdir: '{{ galaxy_dir }}/scratch'
- name: Build the collection
command: 'ansible-galaxy collection build namespace_3/collection_1'
args:
chdir: '{{ galaxy_dir }}/scratch'
- name: Initialize git repository
command: 'git init {{ scm_path }}/namespace_3'
- name: Create the destination for the collection
file:
path: '{{ scm_path }}/namespace_3/collection_1'
state: directory
- name: Unarchive the collection in the git repo
unarchive:
dest: '{{ scm_path }}/namespace_3/collection_1'
src: '{{ galaxy_dir }}/scratch/namespace_3-collection_1-1.0.0.tar.gz'
remote_src: yes
- name: Commit the changes
shell: git add ./; git commit -m 'add collection'
args:
chdir: '{{ scm_path }}/namespace_3'
- name: Install the collection in the git repository
command: 'ansible-galaxy collection install git+file://{{ scm_path }}/namespace_3/.git'
register: result
- name: Assert the collection was installed successfully
assert:
that:
- '"namespace_3.collection_1:1.0.0 was installed successfully" in result.stdout_lines'
always:
- name: Clean up directories from test
file:
path: '{{ galaxy_dir }}/scratch'
state: absent
loop:
- '{{ galaxy_dir }}/scratch'
- '{{ scm_path }}/namespace_3'
- include_tasks: ./empty_installed_collections.yml