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/virtual_direct_requests.yml

78 lines
2.5 KiB
YAML

- environment:
ANSIBLE_CONFIG: '{{ galaxy_dir }}/ansible.cfg'
vars:
scm_path: "{{ galaxy_dir }}/scms"
metadata:
collection1: |-
name: collection1
version: "1.0.0"
dependencies:
test_prereleases.collection2: '*'
collection2: |
name: collection2
version: "1.0.0-dev0"
dependencies: {}
namespace_boilerplate: |-
namespace: test_prereleases
readme: README.md
authors:
- "ansible-core"
description: test prerelease priority with virtual collections
license:
- GPL-2.0-or-later
license_file: ''
tags: []
repository: https://github.com/ansible/ansible
documentation: https://github.com/ansible/ansible
homepage: https://github.com/ansible/ansible
issues: https://github.com/ansible/ansible
build_ignore: []
block:
- name: Initialize git repository
command: 'git init {{ scm_path }}/test_prereleases'
- name: Configure commiter for the repo
shell: git config user.email ansible-test@ansible.com && git config user.name ansible-test
args:
chdir: "{{ scm_path }}/test_prereleases"
- name: Add collections to the repo
file:
path: "{{ scm_path }}/test_prereleases/{{ item }}"
state: directory
loop:
- collection1
- collection2
- name: Add collection metadata
copy:
dest: "{{ scm_path }}/test_prereleases/{{ item }}/galaxy.yml"
content: "{{ metadata[item] + '\n' + metadata['namespace_boilerplate'] }}"
loop:
- collection1
- collection2
- name: Save the changes
shell: git add . && git commit -m "Add collections to test installing a git repo directly takes priority over indirect Galaxy dep"
args:
chdir: '{{ scm_path }}/test_prereleases'
- name: Validate the dependency also exists on Galaxy before test
command: "ansible-galaxy collection install test_prereleases.collection2"
register: prereq
failed_when: '"test_prereleases.collection2:1.0.0 was installed successfully" not in prereq.stdout'
- name: Install collections from source
command: "ansible-galaxy collection install git+file://{{ scm_path }}/test_prereleases"
register: prioritize_direct_req
- assert:
that:
- '"test_prereleases.collection2:1.0.0-dev0 was installed successfully" in prioritize_direct_req.stdout'
always:
- name: Clean up test repos
file:
path: "{{ scm_path }}"
state: absent