Prepare for version 11: pipx/pipx_info (#10137)

* Remove various deprecated module helper things.

* pipx/pipx_info: pipx 1.7.0 required from c.g. 11.0.0 onwards

* restore chglog frag

* add changelog frag

* fix chglog

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
This commit is contained in:
Alexei Znamensky 2025-05-28 08:55:41 +12:00 committed by GitHub
commit a249996f91
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 61 additions and 63 deletions

View file

@ -3,21 +3,13 @@
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
# SPDX-License-Identifier: GPL-3.0-or-later
- name: Determine pipx level
block:
- name: Install pipx>=1.7.0
ansible.builtin.pip:
name: pipx>=1.7.0
- name: Set has_pipx170 fact true
ansible.builtin.set_fact:
has_pipx170: true
rescue:
- name: Set has_pipx170 fact false
ansible.builtin.set_fact:
has_pipx170: false
- name: Install pipx (no version spec)
ansible.builtin.pip:
name: pipx
- name: Bail out if Python < 3.8
when: ansible_python_version is version('3.8', '<')
ansible.builtin.meta: end_play
- name: Install pipx>=1.7.0
ansible.builtin.pip:
name: pipx>=1.7.0
extra_args: --user
- name: Determine packaging level
block:
@ -266,27 +258,23 @@
- name: Include testcase for issue 8656
ansible.builtin.include_tasks: testcase-8656.yml
- name: Recent features
when:
- has_pipx170
block:
- name: Include testcase for PR 8793 --global
ansible.builtin.include_tasks: testcase-8793-global.yml
- name: Include testcase for PR 8793 --global
ansible.builtin.include_tasks: testcase-8793-global.yml
- name: Include testcase for PR 8809 install-all
ansible.builtin.include_tasks: testcase-8809-installall.yml
- name: Include testcase for PR 8809 install-all
ansible.builtin.include_tasks: testcase-8809-installall.yml
- name: Include testcase for PR 8809 pin
ansible.builtin.include_tasks: testcase-8809-pin.yml
- name: Include testcase for PR 8809 pin
ansible.builtin.include_tasks: testcase-8809-pin.yml
- name: Include testcase for PR 8809 injectpkg
ansible.builtin.include_tasks: testcase-8809-uninjectpkg.yml
- name: Include testcase for PR 8809 injectpkg
ansible.builtin.include_tasks: testcase-8809-uninjectpkg.yml
- name: Include testcase for PR 9009 injectpkg --global
ansible.builtin.include_tasks: testcase-9009-fixglobal.yml
- name: Include testcase for PR 9009 injectpkg --global
ansible.builtin.include_tasks: testcase-9009-fixglobal.yml
- name: Include testcase for PR 9103 upgrade --global
ansible.builtin.include_tasks: testcase-9103-upgrade-global.yml
- name: Include testcase for PR 9103 upgrade --global
ansible.builtin.include_tasks: testcase-9103-upgrade-global.yml
- name: Include testcase for issue 9619 latest --global
ansible.builtin.include_tasks: testcase-9619-latest-global.yml
- name: Include testcase for issue 9619 latest --global
ansible.builtin.include_tasks: testcase-9619-latest-global.yml

View file

@ -3,13 +3,16 @@
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
# SPDX-License-Identifier: GPL-3.0-or-later
- name: install pipx
pip:
name: pipx
- name: Bail out if Python < 3.8
when: ansible_python_version is version('3.8', '<')
ansible.builtin.meta: end_play
- name: Install pipx>=1.7.0
ansible.builtin.pip:
name: pipx>=1.7.0
extra_args: --user
##############################################################################
- name: ensure applications are uninstalled
- name: Ensure applications are uninstalled
community.general.pipx:
name: "{{ item }}"
state: absent
@ -17,36 +20,36 @@
- tox
- pylint
- name: retrieve applications (empty)
- name: Retrieve applications (empty)
community.general.pipx_info: {}
register: info_empty
- name: install application tox
- name: Install application tox
community.general.pipx:
name: tox
- name: retrieve applications
- name: Retrieve applications
community.general.pipx_info: {}
register: info_all
- name: retrieve applications (include_deps=true)
- name: Retrieve applications (include_deps=true)
community.general.pipx_info:
include_deps: true
register: info_all_deps
- name: retrieve application tox
- name: Retrieve application tox
community.general.pipx_info:
name: tox
include_deps: true
register: info_tox
- name: uninstall application tox
- name: Uninstall application tox
community.general.pipx:
state: absent
name: tox
- name: check assertions tox
assert:
- name: Check assertions tox
ansible.builtin.assert:
that:
- info_empty.application|length == 0
@ -66,8 +69,8 @@
- info_tox.application == info_all_deps.application
##############################################################################
- name: set test applications
set_fact:
- name: Set test applications
ansible.builtin.set_fact:
apps:
- name: tox
source: tox==3.24.0
@ -75,19 +78,19 @@
inject_packages:
- licenses
- name: ensure applications are uninstalled
- name: Ensure applications are uninstalled
community.general.pipx:
name: "{{ item.name }}"
state: absent
loop: "{{ apps }}"
- name: install applications
- name: Install applications
community.general.pipx:
name: "{{ item.name }}"
source: "{{ item.source | default(omit) }}"
loop: "{{ apps }}"
- name: inject packages
- name: Inject packages
community.general.pipx:
state: inject
name: "{{ item.name }}"
@ -95,31 +98,31 @@
when: "'inject_packages' in item"
loop: "{{ apps }}"
- name: retrieve applications
- name: Retrieve applications
community.general.pipx_info: {}
register: info2_all
- name: retrieve applications (include_deps=true)
- name: Retrieve applications (include_deps=true)
community.general.pipx_info:
include_deps: true
include_injected: true
register: info2_all_deps
- name: retrieve application pylint
- name: Retrieve application pylint
community.general.pipx_info:
name: pylint
include_deps: true
include_injected: true
register: info2_lint
- name: ensure applications are uninstalled
- name: Ensure applications are uninstalled
community.general.pipx:
name: "{{ item.name }}"
state: absent
loop: "{{ apps }}"
- name: check assertions multiple apps
assert:
- name: Check assertions multiple apps
ansible.builtin.assert:
that:
- all_apps|length == 2
- all_apps[1].name == "tox"
@ -138,6 +141,6 @@
- all_apps_deps|length == 2
- lint[0] == all_apps_deps[0]
vars:
all_apps: "{{ info2_all.application|sort(attribute='name') }}"
all_apps: "{{ info2_all.application | sort(attribute='name') }}"
all_apps_deps: "{{ info2_all_deps.application | sort(attribute='name') }}"
lint: "{{ info2_lint.application | sort(attribute='name') }}"