From cffd41baf75d9b3b3aabf1e6e6bd72671fd25667 Mon Sep 17 00:00:00 2001 From: Sean Dague <sean@dague.net> Date: Tue, 29 Mar 2016 13:31:25 -0400 Subject: [PATCH] create api-ref publishing pipeline This creates most of the api-ref publishing pipeline along the lines of api-guide. It's designed to support the new initiative to get API docs into RST and back into project trees directly. Also make nova patches ignore api-ref for the same things that api-guide was ignored for. Change-Id: I3265398fe46b04330401ca60391c105fd5d837fc --- jenkins/jobs/api-jobs.yaml | 36 ++++++++++++++++++++++++++++++++++++ jenkins/jobs/macros.yaml | 11 +++++++++++ jenkins/jobs/projects.yaml | 3 +++ zuul/layout.yaml | 19 ++++++++++++++++--- 4 files changed, 66 insertions(+), 3 deletions(-) diff --git a/jenkins/jobs/api-jobs.yaml b/jenkins/jobs/api-jobs.yaml index 6149a46b5f..2755595ada 100644 --- a/jenkins/jobs/api-jobs.yaml +++ b/jenkins/jobs/api-jobs.yaml @@ -96,6 +96,42 @@ remove-prefix: 'api-guide/build/html/' - console-log +- job-template: + name: gate-{name}-api-ref + description: Build and draft the API Reference from source. + node: ubuntu-trusty + + builders: + - gerrit-git-prep + - install-distro-packages + - revoke-sudo + - tox: + envlist: 'api-ref' + + publishers: + - console-log + - upload-api-ref-draft + +- job-template: + name: '{name}-api-ref' + description: Build and publish the API Reference from source. + node: ubuntu-trusty + + builders: + - gerrit-git-prep + - install-distro-packages + - revoke-sudo + - tox: + envlist: 'api-ref' + + publishers: + - ftp: + site: developer.openstack.org + source: 'api-ref/build/html/**' + target: 'api-ref/{service}' + remove-prefix: 'api-ref/build/html/' + - console-log + - job: name: python-openstacksdk-docs description: Build and publish the Python SDK docs from source. diff --git a/jenkins/jobs/macros.yaml b/jenkins/jobs/macros.yaml index 88c792ab41..a24b8c57a6 100644 --- a/jenkins/jobs/macros.yaml +++ b/jenkins/jobs/macros.yaml @@ -965,6 +965,17 @@ keep-hierarchy: true copy-after-failure: true +- publisher: + name: upload-api-ref-draft + publishers: + - scp: + site: 'static.openstack.org' + files: + - target: 'docs-draft/$LOG_PATH' + source: 'api-ref/build/html/**' + keep-hierarchy: true + copy-after-failure: true + - publisher: name: upload-docs-draft publishers: diff --git a/jenkins/jobs/projects.yaml b/jenkins/jobs/projects.yaml index c571c8aa7f..b8f8abbbb4 100644 --- a/jenkins/jobs/projects.yaml +++ b/jenkins/jobs/projects.yaml @@ -3937,6 +3937,9 @@ - gate-{name}-api-guide - '{name}-api-guide': service: compute + - gate-{name}-api-ref + - '{name}-api-ref': + service: compute - project: name: nova-docker diff --git a/zuul/layout.yaml b/zuul/layout.yaml index de8c1de753..1a84800121 100755 --- a/zuul/layout.yaml +++ b/zuul/layout.yaml @@ -960,7 +960,7 @@ jobs: all-files-match-any: - ^.*\.rst$ - ^doc/.*$ - - ^api-guide/.*$ + - ^api-.*$ - ^nova/hacking/.*$ - ^nova/locale/.*$ - ^nova/tests/.*$ @@ -1058,7 +1058,7 @@ jobs: - project: ^openstack/nova$ all-files-match-any: - ^.*\.rst$ - - ^api-guide/.*$ + - ^api-.*$ - ^doc/.*$ - ^nova/locale/.*$ @@ -1412,7 +1412,7 @@ jobs: all-files-match-any: - ^.*\.rst$ - ^doc/.*$ - - ^api-guide/.*$ + - ^api-.*$ - ^nova/tests/unit/.*$ - ^nova/tests/functional/.*$ - ^nova/tests/.*\.py$ @@ -1705,10 +1705,22 @@ jobs: - '^tox.ini$' - '^api-guide/.*' + - name: ^gate-.*-api-ref$ + success-pattern: http://docs-draft.openstack.org/{build.parameters[LOG_PATH]}/api-ref/build/html/ + voting: false + branch: master + files: + - '^tox.ini$' + - '^api-ref/.*' + - name: ^(?!gate-).*-api-guide$ # Only publish from master branch: master + - name: ^(?!gate-).*-api-ref$ + # Only publish from master + branch: master + - name: ^gate-.*-js-draft success-pattern: http://docs-draft.openstack.org/{build.parameters[LOG_PATH]}/dist/ @@ -7654,6 +7666,7 @@ projects: - gate-tempest-dsvm-full-devstack-plugin-ceph-nv - gate-tempest-dsvm-multinode-full - gate-nova-api-guide + - gate-nova-api-ref gate: - gate-nova-tox-db-functional - gate-grenade-dsvm-partial-ncpu