From 1ce8743a6799ace2ebe209d51a5ee4f6e698ec76 Mon Sep 17 00:00:00 2001
From: Jeremy Stanley <fungi@yuggoth.org>
Date: Wed, 3 Oct 2012 18:16:38 +0000
Subject: [PATCH] Jenkins Jobify API Documentation.

Add these jobs to jenkins_job_builder's api-jobs.yaml and projects.yaml,
as well as to the openstack/*-api projects in zuul's layout.yaml:

  - network-api-v10 (replaces openstack-netconn-api-doc)
  - openstack-object-api-doc
  - openstack-compute-api-doc
  - identity-api-v20 (replaces openstack-identity-api-doc)
  - image-api-v11 (openstack-image-api-doc)

Please note that the 3 replaced jobs listed above will need to be
manually removed from jenkins.openstack.org once this change is merged.

Change-Id: I07611b518b647b35cf8fb46e937f79e3f25ca745
Reviewed-on: https://review.openstack.org/13997
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Approved: James E. Blair <corvus@inaugust.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
---
 .../jenkins_job_builder/config/api-jobs.yaml  | 140 ++++++++++++++++++
 .../jenkins_job_builder/config/projects.yaml  |   5 +
 .../openstack_project/files/zuul/layout.yaml  |   8 +
 3 files changed, 153 insertions(+)

diff --git a/modules/openstack_project/files/jenkins_job_builder/config/api-jobs.yaml b/modules/openstack_project/files/jenkins_job_builder/config/api-jobs.yaml
index 666fcb1ef0..a3241454a3 100644
--- a/modules/openstack_project/files/jenkins_job_builder/config/api-jobs.yaml
+++ b/modules/openstack_project/files/jenkins_job_builder/config/api-jobs.yaml
@@ -2,3 +2,143 @@
     name: api-jobs
     jobs:
       - gate-{name}-merge
+
+# this replaces the old openstack-netconn-api-doc job
+- job:
+    name: network-api-v10
+    project-type: maven
+    concurrent: false
+    node: precise
+
+    triggers:
+      - zuul-post
+
+    prebuilders:
+      - gerrit-git-prep
+
+    maven:
+      root-module:
+        group-id: org.openstack.docs
+        artifact-id: openstack-guide
+      root-pom: doc/pom.xml
+      goals: 'clean generate-sources'
+
+    publishers:
+      - console-log-post
+      - ftp:
+          site: docs.openstack.org
+          source: 'doc/target/docbkx/webhelp/api/openstack-network/1.0/**'
+          target: ''
+          remove-prefix: 'doc/target/docbkx/webhelp'
+          excludes: '**/*.xml,**/null*'
+
+- job:
+    name: openstack-object-api-doc
+    project-type: maven
+    concurrent: false
+    node: precise
+
+    triggers:
+      - zuul-post
+
+    prebuilders:
+      - gerrit-git-prep
+
+    maven:
+      root-module:
+        group-id: org.openstack.docs
+        artifact-id: openstack-object-api-guide
+      root-pom: openstack-object-storage-dev/pom.xml
+      goals: 'clean generate-sources'
+
+    publishers:
+      - console-log-post
+      - ftp:
+          site: docs.openstack.org
+          source: 'openstack-object-storage-dev/target/docbkx/webhelp/**'
+          target: ''
+          remove-prefix: 'openstack-object-storage-dev/target/docbkx/webhelp/'
+          excludes: '**/*.xml,**/null*'
+
+- job:
+    name: openstack-compute-api-doc
+    project-type: maven
+    concurrent: false
+    node: precise
+
+    triggers:
+      - zuul-post
+
+    prebuilders:
+      - gerrit-git-prep
+
+    maven:
+      root-module:
+        group-id: org.openstack.docs
+        artifact-id: openstack-guide
+      root-pom: openstack-compute-api-2/pom.xml
+      goals: 'clean generate-sources'
+
+    publishers:
+      - console-log-post
+      - ftp:
+          site: docs.openstack.org
+          source: 'openstack-compute-api-2/target/docbkx/webhelp/api/openstack-compute/2/**'
+          target: ''
+          remove-prefix: 'openstack-compute-api-2/target/docbkx/webhelp'
+          excludes: '**/*.xml,**/null*'
+
+# this replaces the old openstack-identity-api-doc job
+- job:
+    name: identity-api-v20
+    project-type: maven
+    concurrent: false
+    node: precise
+
+    triggers:
+      - zuul-post
+
+    prebuilders:
+      - gerrit-git-prep
+
+    maven:
+      root-module:
+        group-id: org.openstack.identity
+        artifact-id: docs
+      root-pom: openstack-identity-api/pom.xml
+      goals: 'clean generate-sources'
+
+    publishers:
+      - console-log-post
+      - ftp:
+          site: docs.openstack.org
+          source: 'openstack-identity-api/target/docbkx/webhelp/api/openstack-identity-service/2.0/**'
+          target: ''
+          remove-prefix: 'openstack-identity-api/target/docbkx/webhelp/'
+          excludes: '**/*.xml,**/null*'
+
+# this replaces the old openstack-image-api-doc job
+- job:
+    name: image-api-v11
+    project-type: maven
+    concurrent: false
+    node: precise
+
+    triggers:
+      - zuul-post
+
+    maven:
+      root-module:
+        group-id: org.openstack.docs
+        artifact-id: openstack-guide
+      root-pom: openstack-image-service-api/pom.xml
+      goals: 'clean generate-sources'
+
+    publishers:
+      - console-log-post
+      - ftp:
+          site: docs.openstack.org
+          source: 'openstack-image-service-api/target/docbkx/webhelp/api/openstack-image-service/1.1/**'
+          target: ''
+          remove-prefix: 'openstack-image-service-api/target/docbkx/webhelp'
+          excludes: '**/*.xml,**/null*'
diff --git a/modules/openstack_project/files/jenkins_job_builder/config/projects.yaml b/modules/openstack_project/files/jenkins_job_builder/config/projects.yaml
index dda2a7ed43..ad60f2e375 100644
--- a/modules/openstack_project/files/jenkins_job_builder/config/projects.yaml
+++ b/modules/openstack_project/files/jenkins_job_builder/config/projects.yaml
@@ -28,6 +28,7 @@
     
     jobs:
       - api-jobs
+      - openstack-compute-api-doc
 
 
 - project:
@@ -152,6 +153,7 @@
     
     jobs:
       - api-jobs
+      - identity-api-v20
 
 
 - project:
@@ -163,6 +165,7 @@
     
     jobs:
       - api-jobs
+      - image-api-v11
 
 
 - project:
@@ -218,6 +221,7 @@
     
     jobs:
       - api-jobs
+      - network-api-v10
 
 
 - project:
@@ -279,6 +283,7 @@
     
     jobs:
       - api-jobs
+      - openstack-object-api-doc
 
 
 - project:
diff --git a/modules/openstack_project/files/zuul/layout.yaml b/modules/openstack_project/files/zuul/layout.yaml
index 6cbf1180a6..42ca3ff3c8 100644
--- a/modules/openstack_project/files/zuul/layout.yaml
+++ b/modules/openstack_project/files/zuul/layout.yaml
@@ -667,12 +667,16 @@ projects:
       - gate-compute-api-merge
     gate:
       - gate-compute-api-merge
+    post:
+      - openstack-compute-api-doc
 
   - name: openstack/identity-api
     check:
       - gate-identity-api-merge
     gate:
       - gate-identity-api-merge
+    post:
+      - identity-api-v20
 
   - name: openstack/image-api
     check:
@@ -680,6 +684,7 @@ projects:
     gate:
       - gate-image-api-merge
     post:
+      - image-api-v11
       - images-api-v20
 
   - name: openstack/netconn-api
@@ -688,6 +693,7 @@ projects:
     gate:
       - gate-netconn-api-merge
     post:
+      - network-api-v10
       - netconn-api-v20
 
   - name: openstack/object-api
@@ -695,6 +701,8 @@ projects:
       - gate-object-api-merge
     gate:
       - gate-object-api-merge
+    post:
+      - openstack-object-api-doc
 
   - name: openstack/volume-api
     check: