diff --git a/.gitignore b/.gitignore index a9ed3823..affbedc5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ # Sphinx documentation doc/_build/ doc/build/ +.tox # OSX folder settings files .DS_Store diff --git a/.zuul.yaml b/.zuul.yaml index f0a4bec0..6fa80187 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -14,11 +14,60 @@ check: jobs: - airship-in-a-bottle-linter + - airship-in-a-bottle-doc-build gate: jobs: - airship-in-a-bottle-linter + - airship-in-a-bottle-doc-build + post: + jobs: + - airship-in-a-bottle-doc-publish - job: name: airship-in-a-bottle-linter run: tools/gate/playbooks/zuul-linter.yaml nodeset: openstack-helm-single-node + +- job: + name: airship-in-a-bottle-doc-build + description: | + Locally build the documentation to check for errors + run: tools/gate/playbooks/doc-build.yaml + timeout: 300 + nodeset: openstack-helm-single-node + +- job: + name: airship-in-a-bottle-doc-publish + description: | + Publish documentation on airship-drydock.readthedocs.io + run: tools/gate/playbooks/doc-publish.yaml + secrets: + - airship_in_a_bottle_readthedocs + timeout: 300 + nodeset: openstack-helm-single-node + +- secret: + name: airship_in_a_bottle_readthedocs + data: + url: !encrypted/pkcs1-oaep + - Uml3UChtbn2PP4DbTsf4qC2rStfp07DuWe5NN5pS0KIcOenbD0QX7hvx2MgQkChyKTDTs + QhiHolVNAoKCcoHjF8WjFXnk7lVb1Ap4K23J/BFO22OvfziMLEcWfsPIr7a7vHQ/svaiy + 5YYqHCcJYD43CyzsJKUA7Wjfz+JHu9ZpQQGQY53H/UKxMnou3yuFNjLkCp7jQN7ZAIBX2 + 3IrmstRbhZtJTuQ0+Pncr6t3eSPssc6AU+EG4wlBIp+/MxqsIDkEz3AjWiEkMhxUOEIj6 + nN9Evswpkyg16u4mDnFJ5vRU73e/cR95I4g5TAXbqD8Ek0PDlL1CXWeyJsabBw/UDhdBz + 8zGa2o/lke3Wn47asEcs5nyP+DX8rIphXTT8YXjnzrL8Lvj9kaRHqvFcIX29x9gr3diev + l6CE7hxPtVLU2PsBWCVjxlkX46OockIWoDJJ4Q9tmpilGPlxlDVhJ485bW0dr8EJFdnGV + 9eJBGFamrZLiH5h6mOiDtqO1MnuXMLHeA7gnxcRlAC51jh5LzjQFh2wQ9K41T3oZXp+sE + TR6pfIsQzTdFl2LMLs+UXRULGcDciJDUxySkTF+W3FEIuMBPN2beL0JFQuPdKbbl0pcpn + gCZ/ok3a83q6WMrl68Si6ODJeLSyJ8lRc3m6tADgGekcRfaT2C/BjD6yEvsJiM= + token: !encrypted/pkcs1-oaep + - SZLvIg3x9of5ORJJsH5BSZVPG5xtoTFWvFaPSAp6T0JIdYcbx03RXnZx3ZAftwQwv908X + OycWj3QrIIfXa8rmS7pJ3H3cNBXjB5KISiqWu00u5K2ZOiWt30NrKy3gU0cuyi2iBo38u + W034X5Z6onswmzIsvGs7DxxGcSq+RF/2hqAspdzGj7carW3QZoQLkmDDHScnRenH8IB4+ + XMX/4gO63tqyZGczrd18O+4AlLdRFcAR7ScuVnSpr6KnxyBUfvOec83swS1F60wTniFe5 + 4GwUKcqWG9C4HjoJ4D0+xGO1ZnPd03w1T/mBTU79z86p9IL2rFrJcSwxshKPWDTY+JrmT + K9Zn1GYaPJk6oDeHNmJz7b66zcbf8glb2D9KAWeNeCfX+oUPZDw+1ePtGTKV1DcWoQFhp + L5IHgyrixkT4hO4LvuRAn0ZRWjV/MWh618HzbgB5785GJlnSnBgeDFcy9+AbmhoWh37C3 + y7tIF6i8j8Jvlsazmj7XfUeNqLB6V7ibMXc1yKMUBhwMKFLYgAOJbMRtS338Uqj4GCSFa + 78q40byAbR0O6uHiCtZxrEvAUKz3LJcd+jpKfnSDtnLPAs4je7YUNaCYkGPZnSeaY0XuU + 2Xjb0r3VK7XNIy8hwC5hj/nb8LGU6Q41mKSSVGF41pK8dLEa4X+LJn21PGDbBI= diff --git a/Makefile b/Makefile index 984020f1..48caf188 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -# Copyright 2017 AT&T Intellectual Property. All other rights reserved. +# Copyright 2018 AT&T Intellectual Property. All other rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -11,7 +11,11 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. +SHELL = /bin/bash .PHONY: docs -docs: +docs: build_docs + +.PHONY: build_docs +build_docs: tox -e docs diff --git a/tools/gate/playbooks/doc-build.yaml b/tools/gate/playbooks/doc-build.yaml new file mode 100644 index 00000000..b7b2aa16 --- /dev/null +++ b/tools/gate/playbooks/doc-build.yaml @@ -0,0 +1,20 @@ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +- hosts: primary + tasks: + - name: Build documents locally + make: + chdir: "{{ zuul.project.src_dir }}" + target: docs + register: result + failed_when: result.failed diff --git a/tools/gate/playbooks/doc-publish.yaml b/tools/gate/playbooks/doc-publish.yaml new file mode 100644 index 00000000..b97118e7 --- /dev/null +++ b/tools/gate/playbooks/doc-publish.yaml @@ -0,0 +1,25 @@ +# Copyright 2018 AT&T Intellectual Property. All other rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +- hosts: primary + tasks: + - name: Publish current merged documents on readthedocs + no_log: true + uri: + method: POST + body_format: 'json' + body: + token: '{{ airship_in_a_bottle_readthedocs.token | trim }}' + url: '{{ airship_in_a_bottle_readthedocs.url | trim }}' + follow_redirects: all diff --git a/tox.ini b/tox.ini index 41951a31..70d22015 100644 --- a/tox.ini +++ b/tox.ini @@ -13,7 +13,7 @@ install_command = pip install {opts} {packages} [testenv:docs] basepython = python3 deps = -r{toxinidir}/doc/requirements.txt +whitelist_externals = rm commands = rm -rf doc/build - sphinx-build -W -b html doc/source doc/build/html -whitelist_externals = rm + sphinx-build -W -b html doc/source doc/build