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
Sviatoslav Sydorenko 7662a05085
Always allow "no-other-choice" pre-release dependencies when resolving collection dependency tree
PR #81606.

Prior to this patch, when `--pre` CLI flag was not passed, the
dependency resolver would treat concrete collection dependency
candidates (Git repositories, subdirs, tarball URLs, or local dirs or
files etc) as not meeting the requirements.

This patch makes it so pre-releases in any concrete artifact
references, and the ones being specifically pinned dependencies or
user requests, met anywhere in the dependency tree, are allowed
unconditionally.

This is achieved by moving the pre-release check from
`is_satisfied_by()` to the `find_matches()` hook, following the
Pip's example.

As a bonus, this change also fixes the situation when a collection
pre-releases weren't considered if it didn't have any stable releases.
This now works even if `--pre` wasn't requested explicitly.

Finally, this patch partially reverts commit
6f4b4c345b, except for the tests. And it
also improves the `--pre` hint warning to explain that it mostly
affects Galaxy/Automation Hub-hosted collection releases.

Ref #73416
Ref #79112
Fixes #79168
Fixes #80048
Resolves #81605

Co-authored-by: Sloane Hertel <19572925+s-hertel@users.noreply.github.com>
1 year ago
..
build.yml galaxy: check if the target for symlink exists (#81586) 1 year ago
download.yml Update galaxy_ng container for tests (#80721) 1 year ago
fail_fast_resolvelib.yml ansible-galaxy - add pre-release hint to dependency resolution error (#81147) 1 year ago
init.yml Update galaxy_ng container for tests (#80721) 1 year ago
install.yml ansible-galaxy - improve ignoring multiple signature status codes (#77610) 1 year ago
install_offline.yml Update galaxy_ng container for tests (#80721) 1 year ago
list.yml Don't double loop, ensuring that machine formats don't dupe collections onto all paths (#80277) 2 years ago
main.yml Always allow "no-other-choice" pre-release dependencies when resolving collection dependency tree 1 year ago
pinned_pre_releases_in_deptree.yml Always allow "no-other-choice" pre-release dependencies when resolving collection dependency tree 1 year ago
publish.yml Update galaxy_ng container for tests (#80721) 1 year ago
pulp.yml ansible-galaxy - source deps from all servers and not just parent (#72576) 4 years ago
revoke_gpg_key.yml ansible-galaxy-collection - use --pinentry-mode loopback for gpg key revocation (#77967) 2 years ago
setup_gpg.yml fix ansible-galaxy-collection test with revoked key (#77989) 2 years ago
supported_resolvelib.yml Update galaxy_ng container for tests (#80721) 1 year ago
unsupported_resolvelib.yml ansible-galaxy - support resolvelib versions >= 0.5.3, < 0.9.0 (#77649) 2 years ago
upgrade.yml Allow pip like version syntax for installing collections (#79405) 2 years ago
verify.yml Update galaxy_ng container for tests (#80721) 1 year ago
virtual_direct_requests.yml Always allow "no-other-choice" pre-release dependencies when resolving collection dependency tree 1 year ago