mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-03-22 05:09:12 +00:00
266 lines
No EOL
7 KiB
YAML
266 lines
No EOL
7 KiB
YAML
---
|
|
####################################################################
|
|
# WARNING: These are designed specifically for Ansible tests #
|
|
# and should not be used as examples of how to write Ansible roles #
|
|
####################################################################
|
|
|
|
# Copyright (c) Ansible Project
|
|
# 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 uv
|
|
shell: |
|
|
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.10.5/uv-installer.sh | sh
|
|
environment:
|
|
UV_INSTALL_DIR: /usr/local/bin
|
|
|
|
- name: Check if Python 3.14 exists already
|
|
command: uv python find 3.14
|
|
ignore_errors: true
|
|
register: check_python_314_exists
|
|
|
|
- name: Install Python 3.14 in check mode
|
|
uv_python:
|
|
version: 3.14
|
|
state: present
|
|
check_mode: true
|
|
register: install_check_mode
|
|
|
|
- name: Verify Python 3.14 installation in check mode
|
|
assert:
|
|
that:
|
|
- install_check_mode.changed == check_python_314_exists.failed
|
|
- install_check_mode.failed is false
|
|
- install_check_mode.python_versions | length >= 1
|
|
|
|
- name: Install Python 3.14
|
|
uv_python:
|
|
version: 3.14
|
|
state: present
|
|
register: install_python
|
|
|
|
- name: Verify Python 3.14 installation
|
|
assert:
|
|
that:
|
|
- install_python.changed == check_python_314_exists.failed
|
|
- install_python.failed is false
|
|
- install_python.python_versions | length >= 1
|
|
- install_python.python_paths | length >= 1
|
|
|
|
- name: Re-install Python 3.14
|
|
uv_python:
|
|
version: 3.14
|
|
state: present
|
|
register: reinstall_python
|
|
|
|
- name: Verify Python 3.14 re-installation
|
|
assert:
|
|
that:
|
|
- reinstall_python.changed is false
|
|
- reinstall_python.failed is false
|
|
- reinstall_python.python_versions | length >= 1
|
|
- reinstall_python.python_paths | length >= 1
|
|
|
|
- name: Check if Python 3.13.5 exists already
|
|
command: uv python find 3.13.5
|
|
ignore_errors: true
|
|
register: check_python_3135_exists
|
|
|
|
- name: Install Python 3.13.5
|
|
uv_python:
|
|
version: 3.13.5
|
|
register: install_python_3135
|
|
|
|
- name: Verify Python 3.13.5 installation
|
|
assert:
|
|
that:
|
|
- install_python_3135.changed == check_python_3135_exists.failed
|
|
- install_python_3135.failed is false
|
|
- '"3.13.5" in install_python_3135.python_versions'
|
|
- install_python_3135.python_paths | length >= 1
|
|
|
|
- name: Re-install Python 3.13.5
|
|
uv_python:
|
|
version: 3.13.5
|
|
state: present
|
|
register: reinstall_python
|
|
|
|
- name: Verify Python 3.13.5 installation
|
|
assert:
|
|
that:
|
|
- reinstall_python.changed is false
|
|
- reinstall_python.failed is false
|
|
- '"3.13.5" in reinstall_python.python_versions'
|
|
|
|
- name: Remove uninstalled Python 3.10 # removes latest patch version for 3.10 if exists
|
|
uv_python:
|
|
version: "3.10"
|
|
state: absent
|
|
register: remove_python
|
|
|
|
- name: Verify Python 3.10 deletion
|
|
assert:
|
|
that:
|
|
- remove_python.changed is false
|
|
- remove_python.failed is false
|
|
- remove_python.python_versions | length == 0
|
|
|
|
- name: Remove Python 3.13.5 in check mode
|
|
uv_python:
|
|
version: 3.13.5
|
|
state: absent
|
|
check_mode: true
|
|
register: remove_python_in_check_mode
|
|
|
|
- name: Verify Python 3.13.5 deletion in check mode
|
|
assert:
|
|
that:
|
|
- remove_python_in_check_mode.changed == install_python_3135.changed
|
|
- remove_python_in_check_mode.failed is false
|
|
|
|
- name: Additional check for Python 3.13.5 deletion in check mode
|
|
when: install_python_3135.changed is true
|
|
assert:
|
|
that:
|
|
- '"3.13.5" in remove_python_in_check_mode.python_versions'
|
|
- remove_python_in_check_mode.python_paths | length >= 1
|
|
|
|
- name: Remove Python 3.13.5
|
|
uv_python:
|
|
version: 3.13.5
|
|
state: absent
|
|
register: remove_python
|
|
|
|
- name: Verify Python 3.13.5 deletion
|
|
assert:
|
|
that:
|
|
- remove_python.changed == install_python_3135.changed
|
|
- remove_python.failed is false
|
|
|
|
- name: Additional check for Python 3.13.5 deletion
|
|
when: install_python_3135.changed is true
|
|
assert:
|
|
that:
|
|
- remove_python.python_paths | length >= 1
|
|
- '"3.13.5" in remove_python.python_versions'
|
|
|
|
- name: Remove Python 3.13.5 again
|
|
uv_python:
|
|
version: 3.13.5
|
|
state: absent
|
|
register: remove_python
|
|
|
|
- name: Verify Python 3.13.5 deletion again
|
|
assert:
|
|
that:
|
|
- remove_python.changed is false
|
|
- remove_python.failed is false
|
|
- remove_python.python_versions | length == 0
|
|
- remove_python.python_paths | length == 0
|
|
|
|
- name: Upgrade Python 3.13
|
|
uv_python:
|
|
version: 3.13
|
|
state: latest
|
|
register: upgrade_python
|
|
|
|
- name: Verify Python 3.13 upgrade
|
|
assert:
|
|
that:
|
|
- upgrade_python.changed is true
|
|
- upgrade_python.failed is false
|
|
- upgrade_python.python_versions | length >= 1
|
|
- upgrade_python.python_paths | length >= 1
|
|
|
|
- name: Upgrade Python 3.13 in check mode
|
|
uv_python:
|
|
version: 3.13
|
|
state: latest
|
|
check_mode: true
|
|
register: upgrade_python
|
|
|
|
- name: Verify Python 3.13 upgrade in check mode
|
|
assert:
|
|
that:
|
|
- upgrade_python.changed is false
|
|
- upgrade_python.failed is false
|
|
- upgrade_python.python_versions | length >= 1
|
|
|
|
- name: Upgrade Python 3.13 again
|
|
uv_python:
|
|
version: 3.13
|
|
state: latest
|
|
check_mode: true
|
|
register: upgrade_python
|
|
|
|
- name: Verify Python 3.13 upgrade again
|
|
assert:
|
|
that:
|
|
- upgrade_python.changed is false
|
|
- upgrade_python.failed is false
|
|
- upgrade_python.python_versions | length >= 1
|
|
|
|
- name: Install unexisting Python version in check mode
|
|
uv_python:
|
|
version: 3.12.13
|
|
state: present
|
|
register: unexisting_python_check_mode
|
|
ignore_errors: true
|
|
check_mode: true
|
|
|
|
- name: Verify unexisting Python 3.12.13 install in check mode
|
|
assert:
|
|
that:
|
|
- unexisting_python_check_mode.changed is false
|
|
- unexisting_python_check_mode.failed is true
|
|
- '"Version 3.12.13 is not available." in unexisting_python_check_mode.msg'
|
|
|
|
- name: Install unexisting Python version
|
|
uv_python:
|
|
state: present
|
|
version: 3.12.13
|
|
register: unexisting_python
|
|
ignore_errors: true
|
|
|
|
- name: Verify unexisting Python 3.12.13 install
|
|
assert:
|
|
that:
|
|
- unexisting_python.changed is false
|
|
- unexisting_python.failed is true
|
|
|
|
- name: Install unexisting Python version with latest state
|
|
uv_python:
|
|
version: 3.12.13
|
|
state: latest
|
|
register: unexisting_python
|
|
ignore_errors: true
|
|
|
|
- name: Verify Python 3.12.13 install with latest state
|
|
assert:
|
|
that:
|
|
- unexisting_python.changed is false
|
|
- unexisting_python.failed is true
|
|
|
|
- name: Delete Python 3.13 version
|
|
uv_python:
|
|
version: 3.13
|
|
state: absent
|
|
register: uninstall_result
|
|
|
|
- name: Verify Python 3.13 deletion
|
|
assert:
|
|
that:
|
|
- uninstall_result.changed is true
|
|
- uninstall_result.failed is false
|
|
- '"3.13.12" in uninstall_result.python_versions'
|
|
|
|
- name: No specified version
|
|
uv_python:
|
|
state: latest
|
|
ignore_errors: true
|
|
register: no_version
|
|
|
|
- name: Verify failure when no version is specified
|
|
assert:
|
|
that:
|
|
- no_version.failed is true |