)]}'
{".gitignore":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"9154fc7aa5a3b861183d4ef6e34521cad3e23657","unresolved":false,"context_lines":[{"line_number":1,"context_line":"/doc/build/"},{"line_number":2,"context_line":"publish-docs/"},{"line_number":3,"context_line":"/openstacki18n.egg-info/"},{"line_number":4,"context_line":"AUTHORS"},{"line_number":5,"context_line":"ChangeLog"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"7f231b9d_c503d272","line":2,"updated":"2017-06-14 08:41:51.000000000","message":"I prefer to:\n\n  /publish-docs/\n\nThe leading slash means the top directory.","commit_id":"213d44806b430645a6bb98f5e4ab45f4b9ff3c3b"},{"author":{"_account_id":14482,"name":"Ian Y. Choi","email":"ianyrchoi@gmail.com","username":"ianychoi"},"change_message_id":"d226e785943a8261a19e106dba16695006a3ea41","unresolved":false,"context_lines":[{"line_number":1,"context_line":"/doc/build/"},{"line_number":2,"context_line":"publish-docs/"},{"line_number":3,"context_line":"/openstacki18n.egg-info/"},{"line_number":4,"context_line":"AUTHORS"},{"line_number":5,"context_line":"ChangeLog"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"7f231b9d_bf5d3048","line":2,"in_reply_to":"7f231b9d_c503d272","updated":"2017-06-16 16:30:35.000000000","message":"I agree with you. Done.","commit_id":"213d44806b430645a6bb98f5e4ab45f4b9ff3c3b"}],"tools/buildlang.sh":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"9154fc7aa5a3b861183d4ef6e34521cad3e23657","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"#!/bin/bash -xe"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"#"},{"line_number":6,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-sh","patch_set":4,"id":"7f231b9d_c587520f","line":3,"range":{"start_line":1,"start_character":0,"end_line":3,"end_character":15},"updated":"2017-06-14 08:41:51.000000000","message":"Two bash command line :(","commit_id":"213d44806b430645a6bb98f5e4ab45f4b9ff3c3b"},{"author":{"_account_id":14482,"name":"Ian Y. Choi","email":"ianyrchoi@gmail.com","username":"ianychoi"},"change_message_id":"d226e785943a8261a19e106dba16695006a3ea41","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"#!/bin/bash -xe"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"#"},{"line_number":6,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-sh","patch_set":4,"id":"7f231b9d_5f34dcfb","line":3,"range":{"start_line":1,"start_character":0,"end_line":3,"end_character":15},"in_reply_to":"7f231b9d_c587520f","updated":"2017-06-16 16:30:35.000000000","message":"Done","commit_id":"213d44806b430645a6bb98f5e4ab45f4b9ff3c3b"}],"tox.ini":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"9154fc7aa5a3b861183d4ef6e34521cad3e23657","unresolved":false,"context_lines":[{"line_number":27,"context_line":"# Generate POT files for translation"},{"line_number":28,"context_line":"commands \u003d {toxinidir}/tools/generatepot.sh"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"[testenv:checkbuild]"},{"line_number":31,"context_line":"whitelist_externals \u003d"},{"line_number":32,"context_line":"  mkdir"},{"line_number":33,"context_line":"  rsync"}],"source_content_type":"text/x-properties","patch_set":4,"id":"7f231b9d_25a286af","line":30,"range":{"start_line":30,"start_character":1,"end_line":30,"end_character":19},"updated":"2017-06-14 08:41:51.000000000","message":"This and docs target do the same thing. Why do we need this target?","commit_id":"213d44806b430645a6bb98f5e4ab45f4b9ff3c3b"},{"author":{"_account_id":14482,"name":"Ian Y. Choi","email":"ianyrchoi@gmail.com","username":"ianychoi"},"change_message_id":"d226e785943a8261a19e106dba16695006a3ea41","unresolved":false,"context_lines":[{"line_number":27,"context_line":"# Generate POT files for translation"},{"line_number":28,"context_line":"commands \u003d {toxinidir}/tools/generatepot.sh"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"[testenv:checkbuild]"},{"line_number":31,"context_line":"whitelist_externals \u003d"},{"line_number":32,"context_line":"  mkdir"},{"line_number":33,"context_line":"  rsync"}],"source_content_type":"text/x-properties","patch_set":4,"id":"7f231b9d_faa6160f","line":30,"range":{"start_line":30,"start_character":1,"end_line":30,"end_character":19},"in_reply_to":"7f231b9d_25a286af","updated":"2017-06-16 16:30:35.000000000","message":"That is related to this patch: https://review.openstack.org/#/c/471242/2/zuul/layout.yaml .\n\nI wanted to change to use both *-tox-doc-publishdocs and *-tox-doc-publish-checkbuild for consistency.","commit_id":"213d44806b430645a6bb98f5e4ab45f4b9ff3c3b"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"a63e9c432f9da1de57f1bf4c7213bb7ef9d4819a","unresolved":false,"context_lines":[{"line_number":27,"context_line":"# Generate POT files for translation"},{"line_number":28,"context_line":"commands \u003d {toxinidir}/tools/generatepot.sh"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"[testenv:checkbuild]"},{"line_number":31,"context_line":"whitelist_externals \u003d"},{"line_number":32,"context_line":"  mkdir"},{"line_number":33,"context_line":"  rsync"}],"source_content_type":"text/x-properties","patch_set":4,"id":"7f231b9d_ede2d0d4","line":30,"range":{"start_line":30,"start_character":1,"end_line":30,"end_character":19},"in_reply_to":"7f231b9d_2dbfa8aa","updated":"2017-06-17 16:06:34.000000000","message":"s/publishdocs/checkbuild/","commit_id":"213d44806b430645a6bb98f5e4ab45f4b9ff3c3b"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"5e726a1c6237c45cd53cee6c773e49e0b1489a89","unresolved":false,"context_lines":[{"line_number":27,"context_line":"# Generate POT files for translation"},{"line_number":28,"context_line":"commands \u003d {toxinidir}/tools/generatepot.sh"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"[testenv:checkbuild]"},{"line_number":31,"context_line":"whitelist_externals \u003d"},{"line_number":32,"context_line":"  mkdir"},{"line_number":33,"context_line":"  rsync"}],"source_content_type":"text/x-properties","patch_set":4,"id":"7f231b9d_2dbfa8aa","line":30,"range":{"start_line":30,"start_character":1,"end_line":30,"end_character":19},"in_reply_to":"7f231b9d_faa6160f","updated":"2017-06-17 16:05:21.000000000","message":"If so, we no longer need \u0027docs\u0027 job in zuul/layoyt.yml. openstack-manuals needs a special step to build all documents, but i18n docs does not. I wonder why you need to define two same jobs: docs and publishdocs. I think this is a wrong way.","commit_id":"213d44806b430645a6bb98f5e4ab45f4b9ff3c3b"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"f009dad3eac30707305acc97101a68cfc3bd9823","unresolved":false,"context_lines":[{"line_number":27,"context_line":"# Generate POT files for translation"},{"line_number":28,"context_line":"commands \u003d {toxinidir}/tools/generatepot.sh"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"[testenv:checkbuild]"},{"line_number":31,"context_line":"whitelist_externals \u003d"},{"line_number":32,"context_line":"  mkdir"},{"line_number":33,"context_line":"  rsync"},{"line_number":34,"context_line":"commands \u003d"},{"line_number":35,"context_line":"  {[testenv:docs]commands}"},{"line_number":36,"context_line":"  # Publish for check site"},{"line_number":37,"context_line":"  mkdir -p publish-docs"},{"line_number":38,"context_line":"  rsync -av doc/build/html/ publish-docs/"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"[testenv:publishdocs]"},{"line_number":41,"context_line":"passenv \u003d ZUUL*"}],"source_content_type":"text/x-properties","patch_set":9,"id":"7f231b9d_61544f55","line":38,"range":{"start_line":30,"start_character":0,"end_line":38,"end_character":41},"updated":"2017-06-20 11:45:58.000000000","message":"I still cannot understand why this target is needed.\n\nI know the infra docs jobs runs run-docs.sh in the infra script (which runs tox -e venv -- python setup.py bulld_sphinx).\n\n\u0027docs\u0027 target was introduced for convenience and to detect warnings early. Previously we could not specify warning-is-error (-W) option in build_sphinx, so it is useful to run \"sphinx-build -W\" in \u0027docs\u0027 target.\n\nMy point is even though we run checkbuild as the infra job it still does the same things as \u0027docs\u0027 target. If we want to run the exactly same command, I would suggest to change the command line of \u0027docs\u0027 target to\n\n python setup.py build_sphinx\n\ninstead. Projects except openstack-manuals (or some docs projects) use \u0027docs\u0027 target, so it looks consistent to use \u0027docs\u0027 target. In addition, in the i18n repo, build artifacts are not limited to document potentially, so it sounds tricky to reserve a name  \u0027checkbuild\u0027 for documentation (checkdocbuild at least?)\n\n(I have comments on zuul/layout.yaml. I will add some on that review.)","commit_id":"62678662428090a12fd06abbf7239f2990a74a7a"},{"author":{"_account_id":14482,"name":"Ian Y. Choi","email":"ianyrchoi@gmail.com","username":"ianychoi"},"change_message_id":"d13fbd597cde5317cb44c2b14d1269efcf99d335","unresolved":false,"context_lines":[{"line_number":27,"context_line":"# Generate POT files for translation"},{"line_number":28,"context_line":"commands \u003d {toxinidir}/tools/generatepot.sh"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"[testenv:checkbuild]"},{"line_number":31,"context_line":"whitelist_externals \u003d"},{"line_number":32,"context_line":"  mkdir"},{"line_number":33,"context_line":"  rsync"},{"line_number":34,"context_line":"commands \u003d"},{"line_number":35,"context_line":"  {[testenv:docs]commands}"},{"line_number":36,"context_line":"  # Publish for check site"},{"line_number":37,"context_line":"  mkdir -p publish-docs"},{"line_number":38,"context_line":"  rsync -av doc/build/html/ publish-docs/"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"[testenv:publishdocs]"},{"line_number":41,"context_line":"passenv \u003d ZUUL*"}],"source_content_type":"text/x-properties","patch_set":9,"id":"5f201791_bbd98f23","line":38,"range":{"start_line":30,"start_character":0,"end_line":38,"end_character":41},"in_reply_to":"7f231b9d_61544f55","updated":"2017-06-20 14:13:07.000000000","message":"Aha - thanks a lot for your detail explanation. Now I get your point.\n\nYes, we can stay AS-IS for docs build for check purpose. And I think warning-is-error (-W) option in i18n repo for check purpose is still helpful.","commit_id":"62678662428090a12fd06abbf7239f2990a74a7a"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"f009dad3eac30707305acc97101a68cfc3bd9823","unresolved":false,"context_lines":[{"line_number":37,"context_line":"  mkdir -p publish-docs"},{"line_number":38,"context_line":"  rsync -av doc/build/html/ publish-docs/"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"[testenv:publishdocs]"},{"line_number":41,"context_line":"passenv \u003d ZUUL*"},{"line_number":42,"context_line":"whitelist_externals \u003d"},{"line_number":43,"context_line":"  mkdir"}],"source_content_type":"text/x-properties","patch_set":9,"id":"7f231b9d_e1c5ff0b","line":40,"range":{"start_line":40,"start_character":9,"end_line":40,"end_character":20},"updated":"2017-06-20 11:45:58.000000000","message":"This target sounds reasonable.","commit_id":"62678662428090a12fd06abbf7239f2990a74a7a"},{"author":{"_account_id":14482,"name":"Ian Y. Choi","email":"ianyrchoi@gmail.com","username":"ianychoi"},"change_message_id":"d13fbd597cde5317cb44c2b14d1269efcf99d335","unresolved":false,"context_lines":[{"line_number":37,"context_line":"  mkdir -p publish-docs"},{"line_number":38,"context_line":"  rsync -av doc/build/html/ publish-docs/"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"[testenv:publishdocs]"},{"line_number":41,"context_line":"passenv \u003d ZUUL*"},{"line_number":42,"context_line":"whitelist_externals \u003d"},{"line_number":43,"context_line":"  mkdir"}],"source_content_type":"text/x-properties","patch_set":9,"id":"5f201791_7b05377a","line":40,"range":{"start_line":40,"start_character":9,"end_line":40,"end_character":20},"in_reply_to":"7f231b9d_e1c5ff0b","updated":"2017-06-20 14:13:07.000000000","message":"Thanks!","commit_id":"62678662428090a12fd06abbf7239f2990a74a7a"}]}
