From 35a773a863ff75de470fb367d753ac47af5c9add Mon Sep 17 00:00:00 2001 From: Monty Taylor Date: Tue, 5 Dec 2017 12:52:41 -0600 Subject: [PATCH] Make AFS marker roles honor sphinx variables We set a sphinx_build_dir already on jobs. Make write-root-marker, prepare-docs-for-afs and prepare-infra-docs-for-afs honor it by default. Change-Id: I7c3d578a00a4aa4c9e175f5f83e3171c6f6a4a61 --- roles/prepare-docs-for-afs/README.rst | 6 +++++- roles/prepare-docs-for-afs/defaults/main.yaml | 3 ++- roles/prepare-docs-for-afs/tasks/main.yaml | 4 ++-- roles/prepare-infra-docs-for-afs/README.rst | 10 ++++++++++ roles/prepare-infra-docs-for-afs/defaults/main.yaml | 3 ++- roles/prepare-infra-docs-for-afs/tasks/main.yaml | 2 +- roles/write-root-marker/README.rst | 12 +++++++++++- roles/write-root-marker/defaults/main.yaml | 4 +++- 8 files changed, 36 insertions(+), 8 deletions(-) diff --git a/roles/prepare-docs-for-afs/README.rst b/roles/prepare-docs-for-afs/README.rst index 92823ef5..c703d236 100644 --- a/roles/prepare-docs-for-afs/README.rst +++ b/roles/prepare-docs-for-afs/README.rst @@ -1,5 +1,10 @@ Prepare built OpenStack docs to be published to the OpenStack AFS cell. +.. zuul:rolevar:: sphinx_build_dir + :default: doc/build + + Directory relative to zuul_work_dir where Sphinx build output was put. + .. zuul:rolevar:: zuul_work_dir :default: {{ zuul.project.src_dir }} @@ -10,4 +15,3 @@ Prepare built OpenStack docs to be published to the OpenStack AFS cell. Directory where the documentation lives, the build documentation is in a sub directory called build, by default doc/build. - diff --git a/roles/prepare-docs-for-afs/defaults/main.yaml b/roles/prepare-docs-for-afs/defaults/main.yaml index 26e706af..4807dd4e 100644 --- a/roles/prepare-docs-for-afs/defaults/main.yaml +++ b/roles/prepare-docs-for-afs/defaults/main.yaml @@ -1,2 +1,3 @@ -zuul_work_dir: "src/{{ zuul.project.canonical_name }}" doc_toplevel_dir: "doc" +sphinx_build_dir: "{{ doc_toplevel_dir }}/build" +zuul_work_dir: "{{ zuul.project.src_dir }}" diff --git a/roles/prepare-docs-for-afs/tasks/main.yaml b/roles/prepare-docs-for-afs/tasks/main.yaml index 87de0329..15f0a988 100644 --- a/roles/prepare-docs-for-afs/tasks/main.yaml +++ b/roles/prepare-docs-for-afs/tasks/main.yaml @@ -1,6 +1,6 @@ - name: Set build directory set_fact: - doc_build_dir: "{{ zuul_work_dir }}/{{doc_toplevel_dir}}/build" + doc_build_dir: "{{ zuul_work_dir }}/{{ sphinx_build_dir }}" - name: Write marker text copy: @@ -25,7 +25,7 @@ executable: /bin/bash shell: | set -xe - DOCBUILD="{{ doc_toplevel_dir }}/build" + DOCBUILD="{{ sphinx_build_dir }}" if [[ {{ zuul.ref }} =~ ^refs/tags/ ]]; then # This job should not be configured to run for # pre-releases, so if we have a tag we want to use it as diff --git a/roles/prepare-infra-docs-for-afs/README.rst b/roles/prepare-infra-docs-for-afs/README.rst index e68f1ab0..b3a6d8ed 100644 --- a/roles/prepare-infra-docs-for-afs/README.rst +++ b/roles/prepare-infra-docs-for-afs/README.rst @@ -1 +1,11 @@ Prepare built openstack-infra docs to be published to the OpenStack AFS cell. + +.. zuul:rolevar:: sphinx_build_dir + :default: doc/build + + Directory relative to zuul_work_dir where Sphinx build output was put. + +.. zuul:rolevar:: zuul_work_dir + :default: {{ zuul.project.src_dir }} + + Directory to build documentation in. diff --git a/roles/prepare-infra-docs-for-afs/defaults/main.yaml b/roles/prepare-infra-docs-for-afs/defaults/main.yaml index 189d518f..55ae0a9f 100644 --- a/roles/prepare-infra-docs-for-afs/defaults/main.yaml +++ b/roles/prepare-infra-docs-for-afs/defaults/main.yaml @@ -1 +1,2 @@ -zuul_work_dir: "src/{{ zuul.project.canonical_name }}" +sphinx_build_dir: doc/build +zuul_work_dir: "{{ zuul.project.src_dir }}" diff --git a/roles/prepare-infra-docs-for-afs/tasks/main.yaml b/roles/prepare-infra-docs-for-afs/tasks/main.yaml index 7f3adf99..8baec480 100644 --- a/roles/prepare-infra-docs-for-afs/tasks/main.yaml +++ b/roles/prepare-infra-docs-for-afs/tasks/main.yaml @@ -1,6 +1,6 @@ - name: Set build dir fact set_fact: - doc_build_dir: "{{ zuul_work_dir }}/doc/build" + doc_build_dir: "{{ zuul_work_dir }}/{{ sphinx_doc_build }}" - name: Write marker text copy: diff --git a/roles/write-root-marker/README.rst b/roles/write-root-marker/README.rst index f28f7d13..83d31851 100644 --- a/roles/write-root-marker/README.rst +++ b/roles/write-root-marker/README.rst @@ -2,8 +2,18 @@ Write the root marker for an AFS publishing job ** Role Variables ** +.. zuul:rolevar:: sphinx_build_dir + :default: doc/build + + Directory relative to zuul_work_dir where Sphinx build output was put. + +.. zuul:rolevar:: zuul_work_dir + :default: {{ zuul.project.src_dir }} + + Directory to operate in. + .. zuul:rolevar:: root_marker_dir - :default: src/{{ zuul.project.canonical_name }}/doc/build/html + :default: {{ zuul_work_dir }}/{{ sphinx_build_dir }}/html The documentation build directory. The marker file will be placed in this directory. diff --git a/roles/write-root-marker/defaults/main.yaml b/roles/write-root-marker/defaults/main.yaml index 2fd52fba..a631275c 100644 --- a/roles/write-root-marker/defaults/main.yaml +++ b/roles/write-root-marker/defaults/main.yaml @@ -1 +1,3 @@ -root_marker_dir: "src/{{ zuul.project.canonical_name }}/doc/build/html" +sphinx_build_dir: "doc/build" +zuul_work_dir: "{{ zuul.project.src_dir }}" +root_marker_dir: "{{ zuul_work_dir }}/{{ sphinx_build_dir }}/html"