)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":308,"name":"Thierry Carrez","email":"thierry@openstack.org","username":"ttx"},"change_message_id":"c6565b77f5ca05c8e29d6c36399b6597f1f525ac","unresolved":false,"context_lines":[{"line_number":17,"context_line":"* Identify how auto-generated files are to be handled in a release"},{"line_number":18,"context_line":"  that is a taged repo and not a generated tarball"},{"line_number":19,"context_line":"* Bridge the use of godoc output and the in-tree Sphinx docs"},{"line_number":20,"context_line":"* Translations have not been addressed at all yet"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Change-Id: Ia4e42cc82e6553b3b9e92f6b17c683fb06f4946c"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"1a1ced50_ff913af2","line":20,"updated":"2017-03-21 10:45:48.000000000","message":"Should we keep the TODO in the commit message ?","commit_id":"6340caed9f19999cbc66c2eae480e580257f1dd1"}],"reference/cti/golang_cti.rst":[{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"4b068fb90048131b953cfb703c34872c1087ff05","unresolved":false,"context_lines":[{"line_number":167,"context_line":"``doc/source`` and ``build_sphinx`` should output the documentation to"},{"line_number":168,"context_line":"``doc/build``."},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"\t:code:`make docs`"},{"line_number":171,"context_line":"\t\tGenerate HTML documentation from the in-tree developer docs"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"OpenStack uses Reno to manage release notes.  This uses Sphinx to generate"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a430d35_14db3650","line":170,"updated":"2017-02-07 20:41:52.000000000","message":"For the Python CTI we didn\u0027t have a special tox target for docs because that encourages projects to insert arbitrary commands into that build process. Do we want a similar shield for go projects?","commit_id":"8e5b1650ac5592283adbc5d3491388845805b743"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"187f49cd57fb05044f57d9b99bb40af38436ac39","unresolved":false,"context_lines":[{"line_number":167,"context_line":"``doc/source`` and ``build_sphinx`` should output the documentation to"},{"line_number":168,"context_line":"``doc/build``."},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"\t:code:`make docs`"},{"line_number":171,"context_line":"\t\tGenerate HTML documentation from the in-tree developer docs"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"OpenStack uses Reno to manage release notes.  This uses Sphinx to generate"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a430d35_d7efeb1b","line":170,"in_reply_to":"1a430d35_14db3650","updated":"2017-03-01 22:37:17.000000000","message":"The Python CTI does include Documentation generation, and the full command to run build_sphinx via a tox-managed venv.  I\u0027ve made a habit of having a docs target in my Makefiles that I have in most project directories to shortcut things like this because I can not remember the full command.\n\nI can do the same thing here, the bit that will sadden me is since we\u0027re using Makefiles I can\u0027t just add it in my own personal Makefile per project.  Shell aliases FTW?\n\nEdit: Given the below comment regarding eventually not using setup.py files here, what would the docs command look like then?","commit_id":"8e5b1650ac5592283adbc5d3491388845805b743"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"6f07ddf8f39db0943786b9e7bba8880b6af9de8a","unresolved":false,"context_lines":[{"line_number":190,"context_line":"OpenStack release tooling uses ``setup.py`` as an interface for the release"},{"line_number":191,"context_line":"process.  It is expected that golamg projects will also use ``setup.py`` for"},{"line_number":192,"context_line":"some of its interface to these tools, however it may be desirable to investigate"},{"line_number":193,"context_line":"alternate interfaces if Sphinx docs are the only primary use otherwise."},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"Build Tools"},{"line_number":196,"context_line":"-----------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a430d35_906f71c4","line":193,"updated":"2017-02-06 16:24:47.000000000","message":"Long term, I think we shouldn\u0027t require golang projects to have a setup.py to build either documentation or release notes. Tox supports disabling sdist building and installation, so it should be possible to still use tox to manage a virtualenv and the dependencies needed for the builds, without having setup.py. We can then extend the other tools we have now in CI and release tools that use setup.py to get the project name and version. That implies some sort of pbr-like thing to determine the version from a git tag.\n\nShort term, it\u0027s probably more expedient to just put a setup.py in place to use pbr.","commit_id":"8e5b1650ac5592283adbc5d3491388845805b743"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"854dda5b1b3d7b7305ba1141beb9987e21f97c1b","unresolved":false,"context_lines":[{"line_number":106,"context_line":"OpenStack has not yet selected the common dependency management tool"},{"line_number":107,"context_line":"for golang.  To facillitate this process and allow for changes in the"},{"line_number":108,"context_line":"future we define the ``install-deps`` target to provide a common interface"},{"line_number":109,"context_line":"to these tools."},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"\t:code:`make depend`"},{"line_number":112,"context_line":"\t\tInstall depndencies required to build the project"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba2be162_b35538fb","line":109,"updated":"2017-03-02 23:10:11.000000000","message":"I forgot to update this paragraph...will do in the next PS, but until then I should note that we plan to use Glide for dependency management, which will have a smooth migration to the future \"official\" dep tool currently being developed.","commit_id":"dda943bdfe2a44517563c6d4c43fe51909157d25"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"63c17074b6427a7a4cb7a9a49b255654b7cbd2db","unresolved":false,"context_lines":[{"line_number":116,"context_line":"The required dependencies shall be installed into a golang workspace compatible"},{"line_number":117,"context_line":"with the results of running ``go get``."},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"Ideally this target will be able to handle dependency installation in CI jobs"},{"line_number":120,"context_line":"via the (Expected) local dependency cache.  Otherwise this target is a"},{"line_number":121,"context_line":"developer convenience."},{"line_number":122,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a30ddce_3b78a1f2","line":119,"updated":"2017-03-07 18:44:36.000000000","message":"Actually, this is slightly different and needs to be slightly more strongly worded. Something like:\n\nTo support CI and to ensure Depends-On footers work properly, this target must not modify existing git repo state for a given dependency if the git repository is already present in {GOPATH}/src/{repo}. It can be assumed that all git repos that the CI system knows about will be pre-populated into the appropriate locations at the appropriate states. Missing dependencies should be fetched by this target as per usual.","commit_id":"dda943bdfe2a44517563c6d4c43fe51909157d25"},{"author":{"_account_id":22368,"name":"Justin Scott","email":"justin.a.scott@intel.com","username":"jascott1"},"change_message_id":"acb5b3b8ab964ff84c7357000e5084cbec4f39ba","unresolved":false,"context_lines":[{"line_number":138,"context_line":"\t\tRun the gofmt tool and overwrite source files with gofmt\u0027s version"},{"line_number":139,"context_line":"\t\tif changes are required.  This is primarily a developer convenience."},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"Unit Tests"},{"line_number":142,"context_line":"----------"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"OpenStack uses ``go test`` to run unit tests invoked via the ``Makefile``"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba2be162_7bb29595","line":141,"updated":"2017-03-03 16:54:35.000000000","message":"Propose changing test invocation to following:\nmake test -  run all tests \nmake test-unit - run unit tests\nmake test-functional run functional tests only\n\nThis is similar how Helm\u0027s makefile is setup and its great to execute all tests with one command.","commit_id":"dda943bdfe2a44517563c6d4c43fe51909157d25"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"2c05401c9ee00a2983dd3ca3b743889251dc7401","unresolved":false,"context_lines":[{"line_number":138,"context_line":"\t\tRun the gofmt tool and overwrite source files with gofmt\u0027s version"},{"line_number":139,"context_line":"\t\tif changes are required.  This is primarily a developer convenience."},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"Unit Tests"},{"line_number":142,"context_line":"----------"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"OpenStack uses ``go test`` to run unit tests invoked via the ``Makefile``"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba2be162_e77099a6","line":141,"in_reply_to":"ba2be162_7bb29595","updated":"2017-03-03 21:37:39.000000000","message":"Justin, how common is that pattern across the Kubernetes community?  I was looking first to OpenStack patterns where they made sense to not make mixed-language repos too different from what we are used to.","commit_id":"dda943bdfe2a44517563c6d4c43fe51909157d25"},{"author":{"_account_id":22525,"name":"Qin Wang (qwang)","email":"qin.wang@intel.com","username":"qwang"},"change_message_id":"805439beafd4c7101fdf3dbec2c02e6401d00e33","unresolved":false,"context_lines":[{"line_number":138,"context_line":"\t\tRun the gofmt tool and overwrite source files with gofmt\u0027s version"},{"line_number":139,"context_line":"\t\tif changes are required.  This is primarily a developer convenience."},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"Unit Tests"},{"line_number":142,"context_line":"----------"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"OpenStack uses ``go test`` to run unit tests invoked via the ``Makefile``"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba2be162_a6d95124","line":141,"in_reply_to":"ba2be162_7bb29595","updated":"2017-03-03 17:44:39.000000000","message":"second this.\nIn addition, make test-style will run all style check","commit_id":"dda943bdfe2a44517563c6d4c43fe51909157d25"},{"author":{"_account_id":22368,"name":"Justin Scott","email":"justin.a.scott@intel.com","username":"jascott1"},"change_message_id":"492485b5f76fe6806bde37f5de96a13130fdc5a9","unresolved":false,"context_lines":[{"line_number":138,"context_line":"\t\tRun the gofmt tool and overwrite source files with gofmt\u0027s version"},{"line_number":139,"context_line":"\t\tif changes are required.  This is primarily a developer convenience."},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"Unit Tests"},{"line_number":142,"context_line":"----------"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"OpenStack uses ``go test`` to run unit tests invoked via the ``Makefile``"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba2be162_7dba3b0c","line":141,"in_reply_to":"ba2be162_e77099a6","updated":"2017-03-06 18:17:35.000000000","message":"With Kubernetes, it is similar with makefile containing the following:\n\ncheck test\ntest-integration\ntest-e2e\ntest-e2e-node\ntest-cmd","commit_id":"dda943bdfe2a44517563c6d4c43fe51909157d25"},{"author":{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},"change_message_id":"85cae19bc528970a54dfa9a8477a7d763cbee222","unresolved":false,"context_lines":[{"line_number":186,"context_line":"``doc/build``."},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"NOTE: No target is specified for the in-tree developer docs in order to prevent"},{"line_number":189,"context_line":"projects from inserting arbitrary commands into the build process."},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"OpenStack uses Reno to manage release notes.  This uses Sphinx to generate"},{"line_number":192,"context_line":"the final HTML documentation."}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba2be162_1c673a26","line":189,"updated":"2017-03-01 23:22:17.000000000","message":"Can you expound more on the dev docs? I think I\u0027d prefer to see a makefile target here too. I\u0027m pretty sure I would NOT like to see a setup.py in a pure golang project.","commit_id":"dda943bdfe2a44517563c6d4c43fe51909157d25"},{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"29aaab9a563daf9657670013753163c0bdcb0630","unresolved":false,"context_lines":[{"line_number":186,"context_line":"``doc/build``."},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"NOTE: No target is specified for the in-tree developer docs in order to prevent"},{"line_number":189,"context_line":"projects from inserting arbitrary commands into the build process."},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"OpenStack uses Reno to manage release notes.  This uses Sphinx to generate"},{"line_number":192,"context_line":"the final HTML documentation."}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba2be162_9538233f","line":189,"updated":"2017-03-02 19:34:39.000000000","message":"The intent for using \u0027python setup.py build_sphinx\u0027 as the entry point in the python CTI was to make sure that openstack projects used the commonly used way of building docs in python projects (it\u0027s arguable whether that\u0027s setup.py or sphinx-build, however, the result is largely the same).  It wasn\u0027t to avoid arbitrary commands per-se, but rather to ensure that if there were such commands, they were in the context of the normal python doc build process (eg, as dependencies and invoked in conf.py) rather than a side-channel.  This has likely maintained some compatibility in our projects with sites like readthedocs.org.\n\nSo in short, the spirit that drove the python CTI in this area was \"make things as unsurprising for a typical python developer as possible\".  In that spirit, having a \u0027make docs\u0027 (which somehow runs sphinx) seems reasonable.","commit_id":"dda943bdfe2a44517563c6d4c43fe51909157d25"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"4a221a43f0642a293555ba0bbee0ac770291d278","unresolved":false,"context_lines":[{"line_number":186,"context_line":"``doc/build``."},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"NOTE: No target is specified for the in-tree developer docs in order to prevent"},{"line_number":189,"context_line":"projects from inserting arbitrary commands into the build process."},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"OpenStack uses Reno to manage release notes.  This uses Sphinx to generate"},{"line_number":192,"context_line":"the final HTML documentation."}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba2be162_a8dc02e5","line":189,"in_reply_to":"ba2be162_1c673a26","updated":"2017-03-02 14:48:32.000000000","message":"I changed to this (from a make docs target) to match the current practice based on dhellmann\u0027s earlier comment.  The initial use of setup.py would only be required until the build tooling is able to handle another interface, which for me would be \u0027make docs\u0027, modulo the concern regarding additional commands being inserted...","commit_id":"dda943bdfe2a44517563c6d4c43fe51909157d25"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"8613471c72e2434f1b6b83d4f2726f808b5cf8c0","unresolved":false,"context_lines":[{"line_number":186,"context_line":"``doc/build``."},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"NOTE: No target is specified for the in-tree developer docs in order to prevent"},{"line_number":189,"context_line":"projects from inserting arbitrary commands into the build process."},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"OpenStack uses Reno to manage release notes.  This uses Sphinx to generate"},{"line_number":192,"context_line":"the final HTML documentation."}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba2be162_c26f4329","line":189,"in_reply_to":"ba2be162_47c1a853","updated":"2017-03-02 19:13:00.000000000","message":"I don\u0027t remember all of the details, and I can\u0027t find the record on the patch that added the python CTI. Maybe it happened in a meeting. I\u0027ve asked jeblair and clarkb to add some comments here when they have a minute.","commit_id":"dda943bdfe2a44517563c6d4c43fe51909157d25"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"112867094621a1617bbbe5c2632bfc3638fbd5e0","unresolved":false,"context_lines":[{"line_number":186,"context_line":"``doc/build``."},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"NOTE: No target is specified for the in-tree developer docs in order to prevent"},{"line_number":189,"context_line":"projects from inserting arbitrary commands into the build process."},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"OpenStack uses Reno to manage release notes.  This uses Sphinx to generate"},{"line_number":192,"context_line":"the final HTML documentation."}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba2be162_957103ab","line":189,"in_reply_to":"ba2be162_47c1a853","updated":"2017-03-02 19:22:49.000000000","message":"The concern is that tools like Read the Docs (and other sphinx related tooling) have certain expectations around how docs will be built. In the RTD case they (optionally) install a your python package using setup.py, then run sphinx-build to build your docs. This is roughly equivalent to how we have done things with tox -e venv -- python setup.py build_sphinx.\n\nIf you start requiring extra commands now you can no longer expect that existing tooling will continue to work as the expectations have changed.\n\nThat said, sphinx has a makefile and I think its one of their supported ways to build sphinx docs. I think that if the interface was `make doc` at top level ran `make -f doc/Makefile html` and we don\u0027t edit the sphinx makefile we\u0027ll manage to have a consistent interface with the various commands here and still have high degree of confidence that our sphinx builds will work in other envs (like RTD).","commit_id":"dda943bdfe2a44517563c6d4c43fe51909157d25"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"82907921d39026ad488f0157fb1804f99c1dd1fb","unresolved":false,"context_lines":[{"line_number":186,"context_line":"``doc/build``."},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"NOTE: No target is specified for the in-tree developer docs in order to prevent"},{"line_number":189,"context_line":"projects from inserting arbitrary commands into the build process."},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"OpenStack uses Reno to manage release notes.  This uses Sphinx to generate"},{"line_number":192,"context_line":"the final HTML documentation."}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba2be162_b8419eab","line":189,"in_reply_to":"ba2be162_9538233f","updated":"2017-03-02 19:57:38.000000000","message":"Thanks for providing that context, clarkb and jeblair.","commit_id":"dda943bdfe2a44517563c6d4c43fe51909157d25"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"33a3f2d1a00616e83914a7f544790992b6b1ac13","unresolved":false,"context_lines":[{"line_number":186,"context_line":"``doc/build``."},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"NOTE: No target is specified for the in-tree developer docs in order to prevent"},{"line_number":189,"context_line":"projects from inserting arbitrary commands into the build process."},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"OpenStack uses Reno to manage release notes.  This uses Sphinx to generate"},{"line_number":192,"context_line":"the final HTML documentation."}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba2be162_afab24d5","line":189,"in_reply_to":"ba2be162_a8dc02e5","updated":"2017-03-02 15:51:59.000000000","message":"Maybe we can get some input from the infra team. I didn\u0027t mean to necessarily imply that we had to use exactly the same thing that the Python projects are using, just that one requirement that caused us to codify the existing interface wasn\u0027t being met with a Makefile that the project could change.\n\nWe had a similar discussion with some npm-based projects recently, and agreed that a more general interface would be good but I don\u0027t know if anyone signed up to write a proposal or do any other work on it.","commit_id":"dda943bdfe2a44517563c6d4c43fe51909157d25"},{"author":{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},"change_message_id":"eb0fdda5b9bf35f0d895a3a049abfa276e0980c1","unresolved":false,"context_lines":[{"line_number":186,"context_line":"``doc/build``."},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"NOTE: No target is specified for the in-tree developer docs in order to prevent"},{"line_number":189,"context_line":"projects from inserting arbitrary commands into the build process."},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"OpenStack uses Reno to manage release notes.  This uses Sphinx to generate"},{"line_number":192,"context_line":"the final HTML documentation."}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba2be162_47c1a853","line":189,"in_reply_to":"ba2be162_a8dc02e5","updated":"2017-03-02 17:47:33.000000000","message":"What\u0027s the concern with having \"extra\" commands inserted, if the end result is the same (html docs in a known location)?","commit_id":"dda943bdfe2a44517563c6d4c43fe51909157d25"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"70a728429150f739aaae11201ac2d7227b8e9981","unresolved":false,"context_lines":[{"line_number":186,"context_line":"``doc/build``."},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"NOTE: No target is specified for the in-tree developer docs in order to prevent"},{"line_number":189,"context_line":"projects from inserting arbitrary commands into the build process."},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"OpenStack uses Reno to manage release notes.  This uses Sphinx to generate"},{"line_number":192,"context_line":"the final HTML documentation."}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba2be162_cc013f3a","line":189,"in_reply_to":"ba2be162_afab24d5","updated":"2017-03-02 17:37:50.000000000","message":"If we don\u0027t want to rely on having tox.ini or setup.py available at all, we would just need to update the infra job to do something to set those up by default (we need a virtualenv with sphinx in it, and we rely on \"tox -e venv\" to give us that right now). I\u0027m sure the npm projects would like that, too.","commit_id":"dda943bdfe2a44517563c6d4c43fe51909157d25"},{"author":{"_account_id":308,"name":"Thierry Carrez","email":"thierry@openstack.org","username":"ttx"},"change_message_id":"c6565b77f5ca05c8e29d6c36399b6597f1f525ac","unresolved":false,"context_lines":[{"line_number":22,"context_line":" - Documentation generation"},{"line_number":23,"context_line":" - Translations import/export and merge for translated projects"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"There is not a consensus among to golang community for build and package"},{"line_number":26,"context_line":"management as the ``go`` tool itself was intended to be sufficient."},{"line_number":27,"context_line":"The traditional ``make(1)`` command is often used to suuplement this role"},{"line_number":28,"context_line":"and provide the sort of interface that is common in namy languages."}],"source_content_type":"text/x-rst","patch_set":6,"id":"1a1ced50_9cae9496","line":25,"range":{"start_line":25,"start_character":31,"end_line":25,"end_character":33},"updated":"2017-03-21 10:45:48.000000000","message":"\"the\" ?","commit_id":"6340caed9f19999cbc66c2eae480e580257f1dd1"},{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"db873c0eaf512901f8d720815589956f4e4dcca0","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"There is not a consensus among to golang community for build and package"},{"line_number":26,"context_line":"management as the ``go`` tool itself was intended to be sufficient."},{"line_number":27,"context_line":"The traditional ``make(1)`` command is often used to suuplement this role"},{"line_number":28,"context_line":"and provide the sort of interface that is common in namy languages."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"OpenStack has adopted the practice of using ``make`` for golang CTI as"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1a1ced50_f8221e51","line":27,"range":{"start_line":27,"start_character":53,"end_line":27,"end_character":64},"updated":"2017-03-21 17:46:52.000000000","message":"supplement","commit_id":"6340caed9f19999cbc66c2eae480e580257f1dd1"},{"author":{"_account_id":308,"name":"Thierry Carrez","email":"thierry@openstack.org","username":"ttx"},"change_message_id":"c6565b77f5ca05c8e29d6c36399b6597f1f525ac","unresolved":false,"context_lines":[{"line_number":25,"context_line":"There is not a consensus among to golang community for build and package"},{"line_number":26,"context_line":"management as the ``go`` tool itself was intended to be sufficient."},{"line_number":27,"context_line":"The traditional ``make(1)`` command is often used to suuplement this role"},{"line_number":28,"context_line":"and provide the sort of interface that is common in namy languages."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"OpenStack has adopted the practice of using ``make`` for golang CTI as"},{"line_number":31,"context_line":"it provides a similar role fulfilled by ``tox`` in Python projects.  It"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1a1ced50_fc9dc866","line":28,"range":{"start_line":28,"start_character":52,"end_line":28,"end_character":56},"updated":"2017-03-21 10:45:48.000000000","message":"\"many\"","commit_id":"6340caed9f19999cbc66c2eae480e580257f1dd1"},{"author":{"_account_id":308,"name":"Thierry Carrez","email":"thierry@openstack.org","username":"ttx"},"change_message_id":"c6565b77f5ca05c8e29d6c36399b6597f1f525ac","unresolved":false,"context_lines":[{"line_number":41,"context_line":"a clean tree:"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    :code:`make depend`"},{"line_number":44,"context_line":"        Install depndencies required to build the project"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    :code:`make build`"},{"line_number":47,"context_line":"        Execute build process"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1a1ced50_5c8fbc29","line":44,"range":{"start_line":44,"start_character":16,"end_line":44,"end_character":27},"updated":"2017-03-21 10:45:48.000000000","message":"\"dependencies\"","commit_id":"6340caed9f19999cbc66c2eae480e580257f1dd1"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"2a6d41d4526cee9c388dafda50ca3bb73ffd4401","unresolved":false,"context_lines":[{"line_number":41,"context_line":"a clean tree:"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    :code:`make depend`"},{"line_number":44,"context_line":"        Install depndencies required to build the project"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    :code:`make build`"},{"line_number":47,"context_line":"        Execute build process"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1a1ced50_0baec180","line":44,"range":{"start_line":44,"start_character":16,"end_line":44,"end_character":27},"in_reply_to":"1a1ced50_5c8fbc29","updated":"2017-03-21 19:52:24.000000000","message":"for whatever reason I feel like I\u0027ve typically seen this as `make depends` in other places. If there is go specific culture here for singular, that\u0027s fine, if not I\u0027d go plural.","commit_id":"6340caed9f19999cbc66c2eae480e580257f1dd1"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"2a6d41d4526cee9c388dafda50ca3bb73ffd4401","unresolved":false,"context_lines":[{"line_number":44,"context_line":"        Install depndencies required to build the project"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    :code:`make build`"},{"line_number":47,"context_line":"        Execute build process"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    :code:`make install`"},{"line_number":50,"context_line":"        Execute binary install"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1a1ced50_4bcc396a","line":47,"updated":"2017-03-21 19:52:24.000000000","message":"that\u0027s not just normal \u0027make\u0027?","commit_id":"6340caed9f19999cbc66c2eae480e580257f1dd1"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"2a6d41d4526cee9c388dafda50ca3bb73ffd4401","unresolved":false,"context_lines":[{"line_number":52,"context_line":"    :code:`make test`"},{"line_number":53,"context_line":"        Execute all tests"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    :code:`make unit`"},{"line_number":56,"context_line":"        Execute unit tests"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    :code:`make functional`"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1a1ced50_cb902946","line":55,"updated":"2017-03-21 19:52:24.000000000","message":"so... when we think about things with the unit/functional split on projects, it was because the tests needed different things to run.\n\nI would honestly do:\n\nmake test \n\n  Execute standard tests expected to be run by developers locally\n\nmake test-*\n\n  Additional targets can be added for specific additional testing. It can be pretty free form.","commit_id":"6340caed9f19999cbc66c2eae480e580257f1dd1"},{"author":{"_account_id":308,"name":"Thierry Carrez","email":"thierry@openstack.org","username":"ttx"},"change_message_id":"c6565b77f5ca05c8e29d6c36399b6597f1f525ac","unresolved":false,"context_lines":[{"line_number":114,"context_line":"``install`` command."},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"    :code:`make depend`"},{"line_number":117,"context_line":"        Install depndencies required to build the project"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"Golang dependencies shall not be vendored in golang repos. Each project shall"},{"line_number":120,"context_line":"include a list of its dependencies and acceptable/tested versions in the repo."}],"source_content_type":"text/x-rst","patch_set":6,"id":"1a1ced50_5cbdfcb5","line":117,"range":{"start_line":117,"start_character":16,"end_line":117,"end_character":27},"updated":"2017-03-21 10:45:48.000000000","message":"\"dependencies\"","commit_id":"6340caed9f19999cbc66c2eae480e580257f1dd1"},{"author":{"_account_id":308,"name":"Thierry Carrez","email":"thierry@openstack.org","username":"ttx"},"change_message_id":"c6565b77f5ca05c8e29d6c36399b6597f1f525ac","unresolved":false,"context_lines":[{"line_number":125,"context_line":"``git.openstack.org/openstack/golang-client``.  All dependencies that are"},{"line_number":126,"context_line":"OpenStack projects will be required to use the ``git.openstack.org`` host"},{"line_number":127,"context_line":"in order for cross-repo dependencies to work properly under Zuul, and to"},{"line_number":128,"context_line":"minimuze unnecessary mirrors."},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"To support OpenStack CI and to ensure the Depends-On footers work properly,"},{"line_number":131,"context_line":"this target must not modify existing git repo state for a given dependency"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1a1ced50_3cdf600e","line":128,"range":{"start_line":128,"start_character":0,"end_line":128,"end_character":8},"updated":"2017-03-21 10:45:48.000000000","message":"minimize","commit_id":"6340caed9f19999cbc66c2eae480e580257f1dd1"},{"author":{"_account_id":308,"name":"Thierry Carrez","email":"thierry@openstack.org","username":"ttx"},"change_message_id":"c6565b77f5ca05c8e29d6c36399b6597f1f525ac","unresolved":false,"context_lines":[{"line_number":137,"context_line":"usual.  It is expected that a mirror of required dependencies will be"},{"line_number":138,"context_line":"maintained in the CI system."},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"Further details will be included here as the dependeny tooling is finalized."},{"line_number":141,"context_line":""},{"line_number":142,"context_line":".. _Glide: https://glide.sh/"},{"line_number":143,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"1a1ced50_1cd704ee","line":140,"range":{"start_line":140,"start_character":45,"end_line":140,"end_character":54},"updated":"2017-03-21 10:45:48.000000000","message":"\"dependency\"","commit_id":"6340caed9f19999cbc66c2eae480e580257f1dd1"},{"author":{"_account_id":308,"name":"Thierry Carrez","email":"thierry@openstack.org","username":"ttx"},"change_message_id":"c6565b77f5ca05c8e29d6c36399b6597f1f525ac","unresolved":false,"context_lines":[{"line_number":144,"context_line":"Build and Install"},{"line_number":145,"context_line":"-----------------"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"The golang toolchain automatcially performs the build step when required by"},{"line_number":148,"context_line":"other operations such as ``go test``.  Build and install are split out here"},{"line_number":149,"context_line":"as they are common operations and useful in their own right.  These targets"},{"line_number":150,"context_line":"are not strictly necessary for CI testing."}],"source_content_type":"text/x-rst","patch_set":6,"id":"1a1ced50_5f196ed6","line":147,"range":{"start_line":147,"start_character":21,"end_line":147,"end_character":34},"updated":"2017-03-21 10:45:48.000000000","message":"\"automatically\"","commit_id":"6340caed9f19999cbc66c2eae480e580257f1dd1"},{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"db873c0eaf512901f8d720815589956f4e4dcca0","unresolved":false,"context_lines":[{"line_number":262,"context_line":"-------------"},{"line_number":263,"context_line":""},{"line_number":264,"context_line":"OpenStack release tooling uses ``setup.py`` as an interface for the release"},{"line_number":265,"context_line":"process.  It is expected that golamg projects will also use ``setup.py`` for"},{"line_number":266,"context_line":"some of its interface to these tools, however it may be desirable to investigate"},{"line_number":267,"context_line":"alternate interfaces if Sphinx docs are the only primary use otherwise."},{"line_number":268,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"1a1ced50_7362d13f","line":265,"range":{"start_line":265,"start_character":30,"end_line":265,"end_character":37},"updated":"2017-03-21 17:46:52.000000000","message":"golang","commit_id":"6340caed9f19999cbc66c2eae480e580257f1dd1"}]}
