From 68ded2251f34d2938eb7d91e846dd0e8ad6c892f Mon Sep 17 00:00:00 2001 From: "Jens Harbott (frickler)" Date: Fri, 8 Dec 2017 11:10:45 +0000 Subject: [PATCH] Revert "Add sphinx_python variable to sphinx role and job" This reverts commit 1f8c4737651b1d64eda909e1a6641673f60ebbeb. Change-Id: I98e7414337d58af0f4819163ee0e88702a52c051 --- roles/ensure-sphinx/README.rst | 5 --- roles/ensure-sphinx/defaults/main.yaml | 1 - roles/ensure-sphinx/tasks/main.yaml | 41 +++++++++++++++---------- roles/install-if-python/tasks/main.yaml | 6 ++-- roles/sphinx/tasks/main.yaml | 13 +++----- zuul.yaml | 5 --- 6 files changed, 33 insertions(+), 38 deletions(-) diff --git a/roles/ensure-sphinx/README.rst b/roles/ensure-sphinx/README.rst index fff853275..a0922587a 100644 --- a/roles/ensure-sphinx/README.rst +++ b/roles/ensure-sphinx/README.rst @@ -16,11 +16,6 @@ All pip installs are done with a provided constraints file, if given. List of python packages to install for building docs. -.. zuul:rolevar:: sphinx_python - :default: python2 - - Version of python to use, either ``python2`` or ``python3``. - .. zuul:rolevar:: zuul_work_virtualenv :default: ~/.venv diff --git a/roles/ensure-sphinx/defaults/main.yaml b/roles/ensure-sphinx/defaults/main.yaml index 661a8dd51..ddd3976cd 100644 --- a/roles/ensure-sphinx/defaults/main.yaml +++ b/roles/ensure-sphinx/defaults/main.yaml @@ -1,5 +1,4 @@ zuul_work_dir: "{{ zuul.project.src_dir }}" zuul_work_virtualenv: "{{ ansible_user_dir }}/.venv" -sphinx_python: python2 doc_building_packages: - sphinx diff --git a/roles/ensure-sphinx/tasks/main.yaml b/roles/ensure-sphinx/tasks/main.yaml index 90ace6883..819207931 100644 --- a/roles/ensure-sphinx/tasks/main.yaml +++ b/roles/ensure-sphinx/tasks/main.yaml @@ -9,27 +9,36 @@ include_role: name: find-constraints -# Note (dmsimard): This installs doc/requirements.txt or test-requirements.txt -# if the former is not found. If neither are found, this task is skipped. -# TODO(dmsimard) Don't assume virtualenv is installed -- name: Initialize virtual environment - pip: - requirements: "{{ item }}" +- name: Install virtualenv and doc requirements files if found + shell: + executable: /bin/bash chdir: "{{ zuul_work_dir }}" - virtualenv: "{{ zuul_work_virtualenv }}" - virtualenv_python: "{{ sphinx_python }}" - extra_args: "{{ upper_constraints | default(omit) }}" - with_first_found: - - files: - - "{{ zuul_work_dir }}/doc/requirements.txt" - - "{{ zuul_work_dir }}/test-requirements.txt" - skip: true + # NOTE(mordred) There is a bug in ansible-lint that mistakenly detects + # setting the VENV variable below as an error if it occurs on the fist + # line. Work around that by putting a comment as the first line until we + # can get a fix upstream. + cmd: | + # Create virtualenv is it does not already exist + VENV={{ zuul_work_virtualenv }} + if [ ! -d $VENV ] ; then + virtualenv $VENV + fi + source $VENV/bin/activate + # skipping requirements.txt as it gets picked up by installing the + # python package itself + for f in doc/requirements.txt test-requirements.txt ; do + if [ -f $f ] ; then + pip install $CONSTRAINTS -r $f + break + fi + done + environment: + CONSTRAINTS: "{{ upper_constraints|default('') }}" - name: Install doc building packages pip: name: "{{ item }}" chdir: "{{ zuul_work_dir }}" virtualenv: "{{ zuul_work_virtualenv }}" - virtualenv_python: "{{ sphinx_python }}" - extra_args: "{{ upper_constraints | default(omit) }}" + extra_args: "{{ upper_constraints|default(omit) }}" with_items: "{{ doc_building_packages }}" diff --git a/roles/install-if-python/tasks/main.yaml b/roles/install-if-python/tasks/main.yaml index 4175b5c5f..27d45eef5 100644 --- a/roles/install-if-python/tasks/main.yaml +++ b/roles/install-if-python/tasks/main.yaml @@ -28,7 +28,7 @@ - name: Install requirements if they exist pip: chdir: "{{ zuul_work_dir }}" - virtualenv: "{{ zuul_work_virtualenv }}" + virtualenv: "{{ ansible_user_dir }}/.venv" requirements: requirements.txt extra_args: "{{ upper_constraints|default(omit) }}" register: requirements_install @@ -45,7 +45,7 @@ # the ChangeLog to have been generated. - name: Make sdist to generate ChangeLog command: - cmd: "{{ zuul_work_virtualenv }}/bin/python setup.py sdist" + cmd: "{{ ansible_user_dir }}/.venv/bin/python setup.py sdist" chdir: "{{ zuul_work_dir }}" when: - install_package @@ -61,7 +61,7 @@ - name: Install the project if it is a Python project pip: chdir: "{{ zuul_work_dir }}" - virtualenv: "{{ zuul_work_virtualenv }}" + virtualenv: "{{ ansible_user_dir }}/.venv" name: . extra_args: --no-deps when: diff --git a/roles/sphinx/tasks/main.yaml b/roles/sphinx/tasks/main.yaml index b32f9b078..bdf773bf5 100644 --- a/roles/sphinx/tasks/main.yaml +++ b/roles/sphinx/tasks/main.yaml @@ -10,14 +10,11 @@ sphinx_warning_is_error: "{{ check_result.warning_is_error }}" - name: Run sphinx - shell: - executable: /bin/bash - cmd: | - # Source the activate file so that sphinx subcommands have the correct - # paths set. - source {{ zuul_work_virtualenv }}/bin/activate - sphinx-build -b {{ item }} \ - {% if sphinx_warning_is_error %} -W {% endif %} \ + command: + cmd: > + {{ zuul_work_virtualenv }}/bin/sphinx-build + -b {{ item }} + {% if sphinx_warning_is_error %} -W {% endif %} {{ sphinx_source_dir }} {{ sphinx_build_dir }}/{{ item }} chdir: "{{ zuul_work_dir }}" with_items: "{{ sphinx_builders }}" diff --git a/zuul.yaml b/zuul.yaml index c2b53316e..de4c5907d 100644 --- a/zuul.yaml +++ b/zuul.yaml @@ -174,11 +174,6 @@ Optional path to a pip constraints file for installing python libraries. - .. zuul:jobvar:: sphinx_python - :default: python2 - - Version of python to use, either ``python2`` or ``python3``. - .. zuul:jobvar:: zuul_work_dir :default: {{ zuul.project.src_dir }}