mirror of https://github.com/ansible/ansible.git
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.
56 lines
1.7 KiB
YAML
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
|