Merge "Rename install-if-python to ensure-if-python for consistency"
This commit is contained in:
commit
483ea85f63
@ -4,6 +4,7 @@ Python Roles
|
||||
.. zuul:autorole:: build-python-release
|
||||
.. zuul:autorole:: build-releasenotes
|
||||
.. zuul:autorole:: ensure-babel
|
||||
.. zuul:autorole:: ensure-if-python
|
||||
.. zuul:autorole:: ensure-python
|
||||
.. zuul:autorole:: ensure-sphinx
|
||||
.. zuul:autorole:: ensure-tox
|
||||
|
@ -1,6 +1,6 @@
|
||||
- hosts: all
|
||||
roles:
|
||||
- role: install-if-python
|
||||
- role: ensure-if-python
|
||||
# Releasenotes do not need the package itself to be installed
|
||||
install_package: false
|
||||
- build-releasenotes
|
||||
|
@ -1,4 +1,4 @@
|
||||
- hosts: all
|
||||
roles:
|
||||
- install-if-python
|
||||
- ensure-if-python
|
||||
- sphinx
|
||||
|
30
roles/ensure-if-python/README.rst
Normal file
30
roles/ensure-if-python/README.rst
Normal file
@ -0,0 +1,30 @@
|
||||
Install the contents of a directory if they contain a python project.
|
||||
|
||||
Installs into a virtualenv.
|
||||
|
||||
**Role Variables**
|
||||
|
||||
.. zuul:rolevar:: install_package
|
||||
:default: true
|
||||
|
||||
Flag indicating whether or not the software in the ``zuul_work_dir`` should
|
||||
be installed.
|
||||
|
||||
.. zuul:rolevar:: error_on_failure
|
||||
|
||||
Flag that indicates installation errors should result in failure. Failures
|
||||
in installing the target directory are ignored by default.
|
||||
|
||||
.. zuul:rolevar:: constraints_file
|
||||
|
||||
Optional path to a pip constraints file to use when installing.
|
||||
|
||||
.. zuul:rolevar:: zuul_work_virtualenv
|
||||
:default: ~/.venv
|
||||
|
||||
Virtualenv location in which to install things.
|
||||
|
||||
.. zuul:rolevar:: zuul_work_dir
|
||||
:default: {{ zuul.project.src_dir }}
|
||||
|
||||
Directory to operate in.
|
74
roles/ensure-if-python/tasks/main.yaml
Normal file
74
roles/ensure-if-python/tasks/main.yaml
Normal file
@ -0,0 +1,74 @@
|
||||
# TODO(mordred) rework tox-siblings so it can be used here - probably by
|
||||
# making it take a parameter as to what path to python/pip to use.
|
||||
|
||||
- name: Find Constraints File
|
||||
include_role:
|
||||
name: find-constraints
|
||||
|
||||
- name: Check to see if the project is a python project
|
||||
find:
|
||||
paths: "{{ zuul_work_dir }}"
|
||||
patterns:
|
||||
- setup.cfg
|
||||
- setup.py
|
||||
register: found_python_files
|
||||
when: install_package
|
||||
|
||||
# Installing the directory with the constraints flag can hit into problems
|
||||
# with conflicting values between constraints and current project. So look
|
||||
# for a requirements.txt file so we can install it directly.
|
||||
- name: Check to see if the project has a requirements.txt file
|
||||
stat:
|
||||
get_checksum: false
|
||||
get_mime: false
|
||||
get_md5: false
|
||||
path: "{{ zuul_work_dir }}/requirements.txt"
|
||||
register: requirements_file
|
||||
|
||||
- name: Install requirements if they exist
|
||||
pip:
|
||||
chdir: "{{ zuul_work_dir }}"
|
||||
virtualenv: "{{ zuul_work_virtualenv }}"
|
||||
requirements: requirements.txt
|
||||
extra_args: "{{ upper_constraints|default(omit) }}"
|
||||
register: requirements_install
|
||||
when:
|
||||
- install_package
|
||||
- found_python_files.matched
|
||||
- requirements_file.stat.exists
|
||||
failed_when:
|
||||
- error_on_failure is defined
|
||||
- error_on_failure
|
||||
- requirements_install is failed
|
||||
|
||||
# Build an sdist. This is needed for pbr projects that may expect
|
||||
# the ChangeLog to have been generated.
|
||||
- name: Make sdist to generate ChangeLog
|
||||
command:
|
||||
cmd: "{{ zuul_work_virtualenv }}/bin/python setup.py sdist"
|
||||
chdir: "{{ zuul_work_dir }}"
|
||||
when:
|
||||
- install_package
|
||||
- found_python_files.matched
|
||||
register: sdist_results
|
||||
failed_when:
|
||||
- error_on_failure is defined
|
||||
- error_on_failure
|
||||
- sdist_results is failed
|
||||
|
||||
# Try installing current repo in case it needs to be available for
|
||||
# example for version number calculation. Ignore any failures here.
|
||||
- name: Install the project if it is a Python project
|
||||
pip:
|
||||
chdir: "{{ zuul_work_dir }}"
|
||||
virtualenv: "{{ zuul_work_virtualenv }}"
|
||||
name: .
|
||||
extra_args: --no-deps
|
||||
when:
|
||||
- install_package
|
||||
- found_python_files.matched
|
||||
register: install_package_results
|
||||
failed_when:
|
||||
- error_on_failure is defined
|
||||
- error_on_failure
|
||||
- install_package_results is failed
|
@ -1,30 +1 @@
|
||||
Install the contents of a directory if they contain a python project.
|
||||
|
||||
Installs into a virtualenv.
|
||||
|
||||
**Role Variables**
|
||||
|
||||
.. zuul:rolevar:: install_package
|
||||
:default: true
|
||||
|
||||
Flag indicating whether or not the software in the ``zuul_work_dir`` should
|
||||
be installed.
|
||||
|
||||
.. zuul:rolevar:: error_on_failure
|
||||
|
||||
Flag that indicates installation errors should result in failure. Failures
|
||||
in installing the target directory are ignored by default.
|
||||
|
||||
.. zuul:rolevar:: constraints_file
|
||||
|
||||
Optional path to a pip constraints file to use when installing.
|
||||
|
||||
.. zuul:rolevar:: zuul_work_virtualenv
|
||||
:default: ~/.venv
|
||||
|
||||
Virtualenv location in which to install things.
|
||||
|
||||
.. zuul:rolevar:: zuul_work_dir
|
||||
:default: {{ zuul.project.src_dir }}
|
||||
|
||||
Directory to operate in.
|
||||
.. warning:: Deprecated, use ensure-if-python instead.
|
||||
|
@ -1,74 +1,3 @@
|
||||
# TODO(mordred) rework tox-siblings so it can be used here - probably by
|
||||
# making it take a parameter as to what path to python/pip to use.
|
||||
|
||||
- name: Find Constraints File
|
||||
- name: Include ensure-if-python.
|
||||
include_role:
|
||||
name: find-constraints
|
||||
|
||||
- name: Check to see if the project is a python project
|
||||
find:
|
||||
paths: "{{ zuul_work_dir }}"
|
||||
patterns:
|
||||
- setup.cfg
|
||||
- setup.py
|
||||
register: found_python_files
|
||||
when: install_package
|
||||
|
||||
# Installing the directory with the constraints flag can hit into problems
|
||||
# with conflicting values between constraints and current project. So look
|
||||
# for a requirements.txt file so we can install it directly.
|
||||
- name: Check to see if the project has a requirements.txt file
|
||||
stat:
|
||||
get_checksum: false
|
||||
get_mime: false
|
||||
get_md5: false
|
||||
path: "{{ zuul_work_dir }}/requirements.txt"
|
||||
register: requirements_file
|
||||
|
||||
- name: Install requirements if they exist
|
||||
pip:
|
||||
chdir: "{{ zuul_work_dir }}"
|
||||
virtualenv: "{{ zuul_work_virtualenv }}"
|
||||
requirements: requirements.txt
|
||||
extra_args: "{{ upper_constraints|default(omit) }}"
|
||||
register: requirements_install
|
||||
when:
|
||||
- install_package
|
||||
- found_python_files.matched
|
||||
- requirements_file.stat.exists
|
||||
failed_when:
|
||||
- error_on_failure is defined
|
||||
- error_on_failure
|
||||
- requirements_install is failed
|
||||
|
||||
# Build an sdist. This is needed for pbr projects that may expect
|
||||
# the ChangeLog to have been generated.
|
||||
- name: Make sdist to generate ChangeLog
|
||||
command:
|
||||
cmd: "{{ zuul_work_virtualenv }}/bin/python setup.py sdist"
|
||||
chdir: "{{ zuul_work_dir }}"
|
||||
when:
|
||||
- install_package
|
||||
- found_python_files.matched
|
||||
register: sdist_results
|
||||
failed_when:
|
||||
- error_on_failure is defined
|
||||
- error_on_failure
|
||||
- sdist_results is failed
|
||||
|
||||
# Try installing current repo in case it needs to be available for
|
||||
# example for version number calculation. Ignore any failures here.
|
||||
- name: Install the project if it is a Python project
|
||||
pip:
|
||||
chdir: "{{ zuul_work_dir }}"
|
||||
virtualenv: "{{ zuul_work_virtualenv }}"
|
||||
name: .
|
||||
extra_args: --no-deps
|
||||
when:
|
||||
- install_package
|
||||
- found_python_files.matched
|
||||
register: install_package_results
|
||||
failed_when:
|
||||
- error_on_failure is defined
|
||||
- error_on_failure
|
||||
- install_package_results is failed
|
||||
name: ensure-if-python
|
||||
|
Loading…
Reference in New Issue
Block a user