mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-03-22 13:19:13 +00:00
50 lines
1.8 KiB
YAML
50 lines
1.8 KiB
YAML
# Copyright (c) 2026, Alexei Znamensky <russoz@gmail.com>
|
|
# 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: Create temporary directory
|
|
ansible.builtin.tempfile:
|
|
state: directory
|
|
suffix: .python_runner
|
|
register: tmp_python_runner
|
|
|
|
- name: Create virtualenv
|
|
ansible.builtin.command:
|
|
cmd: "python3 -m venv {{ tmp_python_runner.path }}/venv"
|
|
|
|
- name: Update pip in virtualenv
|
|
ansible.builtin.pip:
|
|
name: pip
|
|
state: latest
|
|
virtualenv: "{{ tmp_python_runner.path }}/venv"
|
|
|
|
- name: Install django in virtualenv
|
|
ansible.builtin.pip:
|
|
name: django
|
|
state: present
|
|
virtualenv: "{{ tmp_python_runner.path }}/venv"
|
|
|
|
# Regression test for https://github.com/ansible-collections/community.general/issues/8884
|
|
# Bug: PythonRunner was setting path_prefix to a string instead of a list, corrupting PATH
|
|
# when venv was specified, so the venv's python could not be found.
|
|
# The original reporter was running `migrate`; we use `check` to avoid needing a database.
|
|
- name: Create Django project using venv django-admin
|
|
ansible.builtin.command:
|
|
cmd: >-
|
|
{{ tmp_python_runner.path }}/venv/bin/django-admin startproject testproject
|
|
chdir: "{{ tmp_python_runner.path }}"
|
|
|
|
- name: Run django_command check on the created project (issue 8884 scenario)
|
|
community.general.django_command:
|
|
command: check
|
|
settings: testproject.settings
|
|
pythonpath: "{{ tmp_python_runner.path }}/testproject"
|
|
venv: "{{ tmp_python_runner.path }}/venv"
|
|
register: result_project_check
|
|
|
|
- name: Assert project check succeeded and returned a version
|
|
ansible.builtin.assert:
|
|
that:
|
|
- result_project_check is success
|
|
- result_project_check.version is defined
|
|
- result_project_check.version != ""
|