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

46 lines
1.6 KiB
YAML

# resolvelib>=0.6.0 added an 'incompatibilities' parameter to find_matches
# If incompatibilities aren't removed from the viable candidates, this example causes infinite resursion
- name: test resolvelib removes incompatibilites in find_matches and errors quickly (prevent infinite recursion)
block:
- name: create collection dir
file:
dest: "{{ galaxy_dir }}/resolvelib/ns/coll"
state: directory
- name: create galaxy.yml with a dependecy on a galaxy-sourced collection
copy:
dest: "{{ galaxy_dir }}/resolvelib/ns/coll/galaxy.yml"
content: |
namespace: ns
name: coll
authors:
- ansible-core
readme: README.md
version: "1.0.0"
dependencies:
namespace1.name1: "0.0.5"
- name: build the collection
command: ansible-galaxy collection build ns/coll
args:
chdir: "{{ galaxy_dir }}/resolvelib"
- name: install a conflicting version of the dep with the tarfile (expected failure)
command: ansible-galaxy collection install namespace1.name1:1.0.9 ns-coll-1.0.0.tar.gz -vvvvv -s {{ test_name }} -p collections/
args:
chdir: "{{ galaxy_dir }}/resolvelib"
timeout: 30
ignore_errors: yes
register: incompatible
- assert:
that:
- incompatible.failed
- not incompatible.msg.startswith("The command action failed to execute in the expected time frame")
always:
- name: cleanup resolvelib test
file:
dest: "{{ galaxy_dir }}/resolvelib"
state: absent