ansible/test/integration/targets/ansible-galaxy-collection-scm/tasks/setup_recursive_scm_dependency.yml
Sloane Hertel e40889e711
Add support to install collections from git repositories (#69154)
* Enable installing collections from git repositories

* Add tests for installing individual and multiple collections from git repositories

* Test to make sure recursive dependencies with different syntax are deduplicated

* Add documentation

* add a changelog

* Skip Python 2.6

* Only fail if no collections are located in a git repository

Add support for a 'type' key for collections in requirement.yml files.
Update the changelog and document the supported keys and allowed values for the type.

Add a note that the collection(s) in the repo must contain a galaxy.yml

* Add a warning about embedding credentials in SCM URLs

* Update with review suggestions

* suppress sanity compile failure for Python 2.6
2020-05-29 13:33:32 -04:00

33 lines
1.1 KiB
YAML

- name: Initialize git repositories
command: 'git init {{ galaxy_dir }}/development/{{ item }}'
loop:
- namespace_1
- namespace_2
- name: Add a couple collections to the repository
command: 'ansible-galaxy collection init {{ item }}'
args:
chdir: '{{ galaxy_dir }}/development'
loop:
- 'namespace_1.collection_1'
- 'namespace_2.collection_2'
- name: Add collection_2 as a dependency of collection_1
lineinfile:
path: '{{ galaxy_dir }}/development/namespace_1/collection_1/galaxy.yml'
regexp: '^dependencies'
line: "dependencies: {'git+file://{{ galaxy_dir }}/development/namespace_2/.git#collection_2/': '*'}"
- name: Add collection_1 as a dependency on collection_2
lineinfile:
path: '{{ galaxy_dir }}/development/namespace_2/collection_2/galaxy.yml'
regexp: '^dependencies'
line: "dependencies: {'git+file://{{ galaxy_dir }}/development/namespace_1/.git#collection_1/': 'master'}"
- name: Commit the changes
shell: git add ./; git commit -m 'add collection'
args:
chdir: '{{ galaxy_dir }}/development/{{ item }}'
loop:
- namespace_1
- namespace_2