Split reno installation into a role
Similar to ensure-tox, split installing reno in to its own role. Change-Id: I8ac7c40f1fe8b590c4184437bf50a7c03cf2b45f
This commit is contained in:
parent
e1f088c850
commit
5c77008c3d
@ -1,3 +1,4 @@
|
|||||||
- hosts: all
|
- hosts: all
|
||||||
roles:
|
roles:
|
||||||
|
- ensure-reno
|
||||||
- build-releasenotes
|
- build-releasenotes
|
||||||
|
@ -1,52 +1,9 @@
|
|||||||
- name: Install gettext package
|
|
||||||
package:
|
|
||||||
name: gettext
|
|
||||||
state: present
|
|
||||||
become: yes
|
|
||||||
|
|
||||||
# TODO(mordred) Put the translations logic into a sphinx plugin?
|
# TODO(mordred) Put the translations logic into a sphinx plugin?
|
||||||
- name: Check if translations exist for release notes
|
- name: Check if translations exist for release notes
|
||||||
stat:
|
stat:
|
||||||
path: "{{ zuul_work_dir }}/releasenotes/source/locale"
|
path: "{{ zuul_work_dir }}/releasenotes/source/locale"
|
||||||
register: translations
|
register: translations
|
||||||
|
|
||||||
- name: Check to see if the constraints file exists
|
|
||||||
stat:
|
|
||||||
path: "{{ constraints_file|default('missing') }}"
|
|
||||||
get_checksum: false
|
|
||||||
get_mime: false
|
|
||||||
get_md5: false
|
|
||||||
register: stat_results
|
|
||||||
when: constraints_file is defined
|
|
||||||
|
|
||||||
- name: Record file location
|
|
||||||
set_fact:
|
|
||||||
upper_constraints: "-c {{ constraints_file }}"
|
|
||||||
when: not stat_results|skipped and stat_results.stat.exists
|
|
||||||
|
|
||||||
- name: Setup venv
|
|
||||||
shell:
|
|
||||||
chdir: '{{ zuul_work_dir }}'
|
|
||||||
executable: /bin/bash
|
|
||||||
cmd: |
|
|
||||||
set -e
|
|
||||||
set -x
|
|
||||||
|
|
||||||
UPPER_CONSTRAINTS="{{ upper_constraints }}"
|
|
||||||
python -m virtualenv .venv
|
|
||||||
VENV=.venv/bin
|
|
||||||
$VENV/pip install sphinx $UPPER_CONSTRAINTS
|
|
||||||
$VENV/pip install openstackdocstheme $UPPER_CONSTRAINTS
|
|
||||||
$VENV/pip install reno $UPPER_CONSTRAINTS
|
|
||||||
# Optionally, install local requirements
|
|
||||||
if [ -e releasenotes/requirements.txt ] ; then
|
|
||||||
$VENV/pip install -r releasenotes/requirements.txt $UPPER_CONSTRAINTS
|
|
||||||
fi
|
|
||||||
# TODO(jaegerandi): Remove once all repos are fixed.
|
|
||||||
# Try installing current repo in case it needs to be available for
|
|
||||||
# example for version number calculation. Ignore any failures here.
|
|
||||||
$VENV/pip install . || true
|
|
||||||
|
|
||||||
- name: Prepare release note translations
|
- name: Prepare release note translations
|
||||||
shell:
|
shell:
|
||||||
chdir: '{{ zuul_work_dir }}'
|
chdir: '{{ zuul_work_dir }}'
|
||||||
|
10
roles/ensure-reno/README.rst
Normal file
10
roles/ensure-reno/README.rst
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
Ensure reno is installed
|
||||||
|
|
||||||
|
**Role Variables**
|
||||||
|
|
||||||
|
.. zuul:rolevar:: zuul_work_dir
|
||||||
|
:default: {{ zuul.project.src_dir }}
|
||||||
|
|
||||||
|
Directory to operate in. Needed only for a little while until we have
|
||||||
|
projects migrated to not need to be installed just to generate
|
||||||
|
release notes.
|
1
roles/ensure-reno/defaults/main.yaml
Normal file
1
roles/ensure-reno/defaults/main.yaml
Normal file
@ -0,0 +1 @@
|
|||||||
|
zuul_work_dir: "{{ zuul.project.src_dir }}"
|
42
roles/ensure-reno/tasks/main.yaml
Normal file
42
roles/ensure-reno/tasks/main.yaml
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
- name: Install gettext package
|
||||||
|
package:
|
||||||
|
name: gettext
|
||||||
|
state: present
|
||||||
|
become: yes
|
||||||
|
|
||||||
|
- name: Check to see if the constraints file exists
|
||||||
|
stat:
|
||||||
|
path: "{{ constraints_file|default('missing') }}"
|
||||||
|
get_checksum: false
|
||||||
|
get_mime: false
|
||||||
|
get_md5: false
|
||||||
|
register: stat_results
|
||||||
|
when: constraints_file is defined
|
||||||
|
|
||||||
|
- name: Record file location
|
||||||
|
set_fact:
|
||||||
|
upper_constraints: "-c {{ constraints_file }}"
|
||||||
|
when: not stat_results|skipped and stat_results.stat.exists
|
||||||
|
|
||||||
|
- name: Setup venv
|
||||||
|
shell:
|
||||||
|
chdir: '{{ zuul_work_dir }}'
|
||||||
|
executable: /bin/bash
|
||||||
|
cmd: |
|
||||||
|
set -e
|
||||||
|
set -x
|
||||||
|
|
||||||
|
UPPER_CONSTRAINTS="{{ upper_constraints }}"
|
||||||
|
python -m virtualenv .venv
|
||||||
|
VENV=.venv/bin
|
||||||
|
$VENV/pip install sphinx $UPPER_CONSTRAINTS
|
||||||
|
$VENV/pip install openstackdocstheme $UPPER_CONSTRAINTS
|
||||||
|
$VENV/pip install reno $UPPER_CONSTRAINTS
|
||||||
|
# Optionally, install local requirements
|
||||||
|
if [ -e releasenotes/requirements.txt ] ; then
|
||||||
|
$VENV/pip install -r releasenotes/requirements.txt $UPPER_CONSTRAINTS
|
||||||
|
fi
|
||||||
|
# TODO(jaegerandi): Remove once all repos are fixed.
|
||||||
|
# Try installing current repo in case it needs to be available for
|
||||||
|
# example for version number calculation. Ignore any failures here.
|
||||||
|
$VENV/pip install . || true
|
Loading…
x
Reference in New Issue
Block a user