)]}'
{"roles/copy-release-tools-scripts/files/release-tools/add_master_python3_jobs.sh":[{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"36ad8672659af7d493a28482c59b056780120db2","unresolved":false,"context_lines":[{"line_number":44,"context_line":"\""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"git checkout master"},{"line_number":47,"context_line":"git checkout -b add-${SERIES}-python-jobtemplates"},{"line_number":48,"context_line":"# Find the file which contains old job."},{"line_number":49,"context_line":"fname\u003d$(grep -Rl openstack-python3-${OLDSERIES}-jobs .)"},{"line_number":50,"context_line":"echo \"Editing $fname\""}],"source_content_type":"text/x-sh","patch_set":1,"id":"7faddb67_3c13d068","line":47,"updated":"2019-07-26 17:04:08.000000000","message":"If we skip the branch management steps here then this script would submit a patch in series with the one to configure reno. Would that be a good thing? Or do we want the 2 patches submitted independently on purpose?","commit_id":"4d30ecf00c3d5637a8d3feec2a6dec3dafe7ed40"},{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"90069cc5908f567ff031c700f93633e96c65077a","unresolved":false,"context_lines":[{"line_number":44,"context_line":"\""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"git checkout master"},{"line_number":47,"context_line":"git checkout -b add-${SERIES}-python-jobtemplates"},{"line_number":48,"context_line":"# Find the file which contains old job."},{"line_number":49,"context_line":"fname\u003d$(grep -Rl openstack-python3-${OLDSERIES}-jobs .)"},{"line_number":50,"context_line":"echo \"Editing $fname\""}],"source_content_type":"text/x-sh","patch_set":1,"id":"7faddb67_409248f8","line":47,"in_reply_to":"7faddb67_2dd2aa5d","updated":"2019-07-29 12:56:09.000000000","message":"I would make a single change with everything in it - the less to review, the better ;/","commit_id":"4d30ecf00c3d5637a8d3feec2a6dec3dafe7ed40"},{"author":{"_account_id":17068,"name":"Jean-Philippe Evrard","email":"openstack@a.spamming.party","username":"evrardjp"},"change_message_id":"61e32961ab9e009b25fd67fd03fee398965a8551","unresolved":false,"context_lines":[{"line_number":44,"context_line":"\""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"git checkout master"},{"line_number":47,"context_line":"git checkout -b add-${SERIES}-python-jobtemplates"},{"line_number":48,"context_line":"# Find the file which contains old job."},{"line_number":49,"context_line":"fname\u003d$(grep -Rl openstack-python3-${OLDSERIES}-jobs .)"},{"line_number":50,"context_line":"echo \"Editing $fname\""}],"source_content_type":"text/x-sh","patch_set":1,"id":"7faddb67_2dd2aa5d","line":47,"in_reply_to":"7faddb67_3c13d068","updated":"2019-07-29 07:31:04.000000000","message":"I expected these are two different things semantically. I supposed that this one could be technically harder to merge than the reno, so I expected the reno shouldn\u0027t have to wait for this to pass first.\n\nBut I am happy to change this, if necessary.","commit_id":"4d30ecf00c3d5637a8d3feec2a6dec3dafe7ed40"},{"author":{"_account_id":17068,"name":"Jean-Philippe Evrard","email":"openstack@a.spamming.party","username":"evrardjp"},"change_message_id":"f55bc805809ca1c872011d910cc70029a2410c17","unresolved":false,"context_lines":[{"line_number":44,"context_line":"\""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"git checkout master"},{"line_number":47,"context_line":"git checkout -b add-${SERIES}-python-jobtemplates"},{"line_number":48,"context_line":"# Find the file which contains old job."},{"line_number":49,"context_line":"fname\u003d$(grep -Rl openstack-python3-${OLDSERIES}-jobs .)"},{"line_number":50,"context_line":"echo \"Editing $fname\""}],"source_content_type":"text/x-sh","patch_set":1,"id":"7faddb67_63df4ed6","line":47,"in_reply_to":"7faddb67_409248f8","updated":"2019-07-29 13:54:00.000000000","message":"Agreed on that part. I just thought one could take longer than the other -- one being very automated, and easily +w with a single review, while the other might be more complicated...","commit_id":"4d30ecf00c3d5637a8d3feec2a6dec3dafe7ed40"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"4a1d42653c076d513648386e7bf55d50d9658e98","unresolved":false,"context_lines":[{"line_number":44,"context_line":"\""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"git checkout master"},{"line_number":47,"context_line":"git checkout -b add-${SERIES}-python-jobtemplates"},{"line_number":48,"context_line":"# Find the file which contains old job."},{"line_number":49,"context_line":"fname\u003d$(grep -Rl openstack-python3-${OLDSERIES}-jobs .)"},{"line_number":50,"context_line":"echo \"Editing $fname\""}],"source_content_type":"text/x-sh","patch_set":1,"id":"7faddb67_23f39675","line":47,"in_reply_to":"7faddb67_409248f8","updated":"2019-07-29 13:54:27.000000000","message":"We did talk about making it 1 commit to \"open\" the master branch. I think JP is right, though, that because the new template may introduce failing tests we don\u0027t want to tie it to the reno patch. What I was suggesting was to add it *after* the reno patch, in series, but that\u0027s not really important.","commit_id":"4d30ecf00c3d5637a8d3feec2a6dec3dafe7ed40"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"36ad8672659af7d493a28482c59b056780120db2","unresolved":false,"context_lines":[{"line_number":46,"context_line":"git checkout master"},{"line_number":47,"context_line":"git checkout -b add-${SERIES}-python-jobtemplates"},{"line_number":48,"context_line":"# Find the file which contains old job."},{"line_number":49,"context_line":"fname\u003d$(grep -Rl openstack-python3-${OLDSERIES}-jobs .)"},{"line_number":50,"context_line":"echo \"Editing $fname\""},{"line_number":51,"context_line":"sed -i \"s/openstack-python3-${OLDSERIES}-jobs/openstack-python3-${SERIES}-jobs/g\" $fname"},{"line_number":52,"context_line":"git add ."}],"source_content_type":"text/x-sh","patch_set":1,"id":"7faddb67_1c5a944f","line":49,"updated":"2019-07-26 17:04:08.000000000","message":"This could find lots of files. Maybe we want to limit the search set to those we expect for zuul config?","commit_id":"4d30ecf00c3d5637a8d3feec2a6dec3dafe7ed40"},{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"2c1d89767012d4ecb13e8e743f47985db7001b20","unresolved":false,"context_lines":[{"line_number":46,"context_line":"git checkout master"},{"line_number":47,"context_line":"git checkout -b add-${SERIES}-python-jobtemplates"},{"line_number":48,"context_line":"# Find the file which contains old job."},{"line_number":49,"context_line":"fname\u003d$(grep -Rl openstack-python3-${OLDSERIES}-jobs .)"},{"line_number":50,"context_line":"echo \"Editing $fname\""},{"line_number":51,"context_line":"sed -i \"s/openstack-python3-${OLDSERIES}-jobs/openstack-python3-${SERIES}-jobs/g\" $fname"},{"line_number":52,"context_line":"git add ."}],"source_content_type":"text/x-sh","patch_set":1,"id":"7faddb67_80036042","line":49,"in_reply_to":"7faddb67_0dcfaeb0","updated":"2019-07-29 12:55:16.000000000","message":"Note that Zuul supports only:\n\nThese files:\n* .zuul.yaml\n* zuul.yaml\n\nAnd *.yaml files in these directories:\n* .zuul.d\n* zuul.d\n\nSo, that\u0027s two files and two directories to check - don\u0027t check everything with Zuul in it ;)","commit_id":"4d30ecf00c3d5637a8d3feec2a6dec3dafe7ed40"},{"author":{"_account_id":17068,"name":"Jean-Philippe Evrard","email":"openstack@a.spamming.party","username":"evrardjp"},"change_message_id":"61e32961ab9e009b25fd67fd03fee398965a8551","unresolved":false,"context_lines":[{"line_number":46,"context_line":"git checkout master"},{"line_number":47,"context_line":"git checkout -b add-${SERIES}-python-jobtemplates"},{"line_number":48,"context_line":"# Find the file which contains old job."},{"line_number":49,"context_line":"fname\u003d$(grep -Rl openstack-python3-${OLDSERIES}-jobs .)"},{"line_number":50,"context_line":"echo \"Editing $fname\""},{"line_number":51,"context_line":"sed -i \"s/openstack-python3-${OLDSERIES}-jobs/openstack-python3-${SERIES}-jobs/g\" $fname"},{"line_number":52,"context_line":"git add ."}],"source_content_type":"text/x-sh","patch_set":1,"id":"7faddb67_0dcfaeb0","line":49,"in_reply_to":"7faddb67_1c5a944f","updated":"2019-07-29 07:31:04.000000000","message":"That would indeed be a good optimization. First finding something (file or directory) whose name contains zuul, then search in those files for this.\n\nif fname found, then do the sed, add, commit, review.\n\nSounds okay to me.","commit_id":"4d30ecf00c3d5637a8d3feec2a6dec3dafe7ed40"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"36ad8672659af7d493a28482c59b056780120db2","unresolved":false,"context_lines":[{"line_number":48,"context_line":"# Find the file which contains old job."},{"line_number":49,"context_line":"fname\u003d$(grep -Rl openstack-python3-${OLDSERIES}-jobs .)"},{"line_number":50,"context_line":"echo \"Editing $fname\""},{"line_number":51,"context_line":"sed -i \"s/openstack-python3-${OLDSERIES}-jobs/openstack-python3-${SERIES}-jobs/g\" $fname"},{"line_number":52,"context_line":"git add ."},{"line_number":53,"context_line":"git diff"},{"line_number":54,"context_line":"git commit -m \"$commit_msg\""}],"source_content_type":"text/x-sh","patch_set":1,"id":"7faddb67_fc5e9843","line":51,"updated":"2019-07-26 17:04:08.000000000","message":"We have lots of repos that aren\u0027t python-based that will be branched. I wonder whether this script is going to report a failure at some point (maybe at commit? or review?) and if we need to be checking in advance that the old job template is there to be updated?","commit_id":"4d30ecf00c3d5637a8d3feec2a6dec3dafe7ed40"},{"author":{"_account_id":17068,"name":"Jean-Philippe Evrard","email":"openstack@a.spamming.party","username":"evrardjp"},"change_message_id":"61e32961ab9e009b25fd67fd03fee398965a8551","unresolved":false,"context_lines":[{"line_number":48,"context_line":"# Find the file which contains old job."},{"line_number":49,"context_line":"fname\u003d$(grep -Rl openstack-python3-${OLDSERIES}-jobs .)"},{"line_number":50,"context_line":"echo \"Editing $fname\""},{"line_number":51,"context_line":"sed -i \"s/openstack-python3-${OLDSERIES}-jobs/openstack-python3-${SERIES}-jobs/g\" $fname"},{"line_number":52,"context_line":"git add ."},{"line_number":53,"context_line":"git diff"},{"line_number":54,"context_line":"git commit -m \"$commit_msg\""}],"source_content_type":"text/x-sh","patch_set":1,"id":"7faddb67_4d3a8698","line":51,"in_reply_to":"7faddb67_fc5e9843","updated":"2019-07-29 07:31:04.000000000","message":"It\u0027s indeed silly to branch and then add/commit/review nothing. I will adapt this depending on the answers on the first question (1 commit for both renos and jobtemplates).","commit_id":"4d30ecf00c3d5637a8d3feec2a6dec3dafe7ed40"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"b66d72c58ddae017fc238c674179f6c44a83cb23","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Script to update release notes in a repository when a new branch"},{"line_number":4,"context_line":"# is created."},{"line_number":5,"context_line":"#"},{"line_number":6,"context_line":"# All Rights Reserved."}],"source_content_type":"text/x-sh","patch_set":2,"id":"7faddb67_3edd9613","line":3,"updated":"2019-09-04 14:33:44.000000000","message":"nit: Should probably update description of this script.","commit_id":"8d4ec17d063c012187de1d286963f66ec0a5cd65"},{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"5291b05a430c59536bd11d28c15d82680fe859e9","unresolved":false,"context_lines":[{"line_number":47,"context_line":"# Find the appropriate files"},{"line_number":48,"context_line":"fnames\u003d$(find . -type f -path \u0027*zuul.d/*\u0027; find . -type f -name \u0027*zuul.yaml\u0027)"},{"line_number":49,"context_line":"for fname in $fnames; do"},{"line_number":50,"context_line":"  echo \"Checking ${fname}\""},{"line_number":51,"context_line":"  sed -i \"s/openstack-python3-${OLDSERIES}-jobs/openstack-python3-${SERIES}-jobs/g\" $fname"},{"line_number":52,"context_line":"done"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"if ! `git diff-index --quiet HEAD --`; then"}],"source_content_type":"text/x-sh","patch_set":4,"id":"3fa7e38b_4b935250","line":51,"range":{"start_line":50,"start_character":0,"end_line":51,"end_character":90},"updated":"2019-09-22 09:11:58.000000000","message":"needs to be multiple of 4","commit_id":"98e0a3d2ffe464942116f23ff0d8523725131b2d"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"5173f585af55a6950f6d59fab002b9fa72f1f171","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        $fname"},{"line_number":54,"context_line":"done"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"if ! `git diff-index --quiet HEAD --`; then"},{"line_number":57,"context_line":"    git checkout -b add-${SERIES}-python-jobtemplates"},{"line_number":58,"context_line":"    git add ."},{"line_number":59,"context_line":"    git diff --cached"}],"source_content_type":"text/x-sh","patch_set":6,"id":"df33271e_e3fef836","line":56,"updated":"2020-04-04 17:31:31.000000000","message":"This doesn\u0027t look right. Is it trying to test the exit code of the command, or the output?","commit_id":"2c58db384a2328ca0bc9b18bc6c7c715a44a7883"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"d1b2623ffc6d80c7709d397df646d9b79bc91711","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        $fname"},{"line_number":54,"context_line":"done"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"if ! `git diff-index --quiet HEAD --`; then"},{"line_number":57,"context_line":"    git checkout -b add-${SERIES}-python-jobtemplates"},{"line_number":58,"context_line":"    git add ."},{"line_number":59,"context_line":"    git diff --cached"}],"source_content_type":"text/x-sh","patch_set":6,"id":"df33271e_ad1c84c1","line":56,"in_reply_to":"df33271e_e3fef836","updated":"2020-04-08 13:37:51.000000000","message":"This is checking the exit code, and appears to be working right. I think we can make that more clear though.","commit_id":"2c58db384a2328ca0bc9b18bc6c7c715a44a7883"}],"roles/copy-release-tools-scripts/files/release-tools/process_release_requests.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"71ffbd555381ba14f2bdaba54fca857bf844afdf","unresolved":false,"context_lines":[{"line_number":92,"context_line":"    return 0"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"def make_branch(repo, name, ref):"},{"line_number":96,"context_line":"    print(\u0027Branching {} in {}\u0027.format(name, repo))"},{"line_number":97,"context_line":"    try:"},{"line_number":98,"context_line":"        subprocess.check_call([BRANCH_SCRIPT, repo, name, ref])"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_f945d815","line":95,"updated":"2019-09-04 14:57:01.000000000","message":"Looks like this needs to be updated to take the additional argument?","commit_id":"c8ba99dbef06d5e65a143cc2b9944ae20e6983a7"},{"author":{"_account_id":17068,"name":"Jean-Philippe Evrard","email":"openstack@a.spamming.party","username":"evrardjp"},"change_message_id":"f07b5deb06e42544bb2088b9e9f512cd3d2cf144","unresolved":false,"context_lines":[{"line_number":92,"context_line":"    return 0"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"def make_branch(repo, name, ref):"},{"line_number":96,"context_line":"    print(\u0027Branching {} in {}\u0027.format(name, repo))"},{"line_number":97,"context_line":"    try:"},{"line_number":98,"context_line":"        subprocess.check_call([BRANCH_SCRIPT, repo, name, ref])"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_1c8d297b","line":95,"in_reply_to":"7faddb67_f945d815","updated":"2019-09-05 14:20:14.000000000","message":"Mmm. I have the impression there are a few things in my patch, maybe I messed up my git add.","commit_id":"c8ba99dbef06d5e65a143cc2b9944ae20e6983a7"}]}
