)]}'
{"zuul/layout.yaml":[{"author":{"_account_id":16465,"name":"Kristi Nikolla","email":"knikolla@bu.edu","username":"knikolla"},"change_message_id":"1fb03636bc55e3c0f30f0fa121c895b3c90c9263","unresolved":false,"context_lines":[{"line_number":1565,"context_line":"          - ^doc/.*$"},{"line_number":1566,"context_line":"          - ^releasenotes/.*$"},{"line_number":1567,"context_line":""},{"line_number":1568,"context_line":"  - name: ^.*keystone-(python27-ubuntu-xenial|python35)$"},{"line_number":1569,"context_line":"    skip-if:"},{"line_number":1570,"context_line":"      - project: ^openstack/keystone$"},{"line_number":1571,"context_line":"        all-files-match-any:"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"9f436f4f_ac5bb5f3","line":1568,"updated":"2017-08-15 21:22:48.000000000","message":"do we also want to skip the coverage job?","commit_id":"570ed62ed4d14579f033a5cbabcbf7bdd19cb337"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"92bb00968fd1f7167d599182b100a237d35e5f05","unresolved":false,"context_lines":[{"line_number":1565,"context_line":"          - ^doc/.*$"},{"line_number":1566,"context_line":"          - ^releasenotes/.*$"},{"line_number":1567,"context_line":""},{"line_number":1568,"context_line":"  - name: ^.*keystone-(python27-ubuntu-xenial|python35)$"},{"line_number":1569,"context_line":"    skip-if:"},{"line_number":1570,"context_line":"      - project: ^openstack/keystone$"},{"line_number":1571,"context_line":"        all-files-match-any:"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"9f436f4f_8c8b51c1","line":1568,"in_reply_to":"9f436f4f_ac5bb5f3","updated":"2017-08-15 21:42:34.000000000","message":"Done","commit_id":"570ed62ed4d14579f033a5cbabcbf7bdd19cb337"},{"author":{"_account_id":16465,"name":"Kristi Nikolla","email":"knikolla@bu.edu","username":"knikolla"},"change_message_id":"78979f483c4fba752532a31151c7be36cffce3de","unresolved":false,"context_lines":[{"line_number":1477,"context_line":""},{"line_number":1478,"context_line":"  # Skip long, expensive jobs when the change only affects docs,"},{"line_number":1479,"context_line":"  # release notes, unit tests, and non-code in keystone"},{"line_number":1480,"context_line":"  - name: ^.*(keystone|tempest|grenade|keystoneclient)-(dvsm|coverage)-.*$"},{"line_number":1481,"context_line":"    skip-if:"},{"line_number":1482,"context_line":"      - project: ^openstack/keystone$"},{"line_number":1483,"context_line":"        all-files-match-any:"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"9f436f4f_7ea56ba1","line":1480,"range":{"start_line":1480,"start_character":61,"end_line":1480,"end_character":69},"updated":"2017-08-16 03:43:35.000000000","message":"Skip this in the other one. It reports on the coverage of unit tests, and we don\u0027t want to skip it in the case of changes to unit tests only.","commit_id":"ea44272dee4b88a2d3f2d7230f5d9c4223e22347"},{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"f0df0dabbd806eabecfbb05eecd7b1d0d1bfc45f","unresolved":false,"context_lines":[{"line_number":1477,"context_line":""},{"line_number":1478,"context_line":"  # Skip long, expensive jobs when the change only affects docs,"},{"line_number":1479,"context_line":"  # release notes, unit tests, and non-code in keystone"},{"line_number":1480,"context_line":"  - name: ^.*(keystone|tempest|grenade|keystoneclient)-(dvsm|coverage)-.*$"},{"line_number":1481,"context_line":"    skip-if:"},{"line_number":1482,"context_line":"      - project: ^openstack/keystone$"},{"line_number":1483,"context_line":"        all-files-match-any:"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"9f436f4f_5544c546","line":1480,"range":{"start_line":1480,"start_character":61,"end_line":1480,"end_character":69},"in_reply_to":"9f436f4f_7ea56ba1","updated":"2017-08-16 05:31:09.000000000","message":"this regex is far too broad, it catches *all* tempest and grenade jobs.","commit_id":"ea44272dee4b88a2d3f2d7230f5d9c4223e22347"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"646e7d0a34eed47cb4248b9aec79db1302d8df2a","unresolved":false,"context_lines":[{"line_number":1228,"context_line":"  # Skip these long-running and expensive devstack jobs when the"},{"line_number":1229,"context_line":"  # change is only to documentation, release notes, unit tests or"},{"line_number":1230,"context_line":"  # similar components that won\u0027t be exercised by the job anyway."},{"line_number":1231,"context_line":"  - name: ^.*(devstack|tempest|grenade|rally|cinder|swift|install|neutron-lbaas|neutron-vpnaas|ironic|ironic-inspector|heat|mogan)-dsvm.*$"},{"line_number":1232,"context_line":"    skip-if:"},{"line_number":1233,"context_line":"      - project: ^openstack/cinder$"},{"line_number":1234,"context_line":"        all-files-match-any:"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"9f436f4f_306441e5","line":1231,"updated":"2017-08-21 07:30:22.000000000","message":"why are you not putting this as part of this regex here?","commit_id":"c9d28022cdbd1febf35b5e62fe14b59c87bc0d0d"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"ae203eef486c8abb6c94b1f6ae11ea3120387e5b","unresolved":false,"context_lines":[{"line_number":1228,"context_line":"  # Skip these long-running and expensive devstack jobs when the"},{"line_number":1229,"context_line":"  # change is only to documentation, release notes, unit tests or"},{"line_number":1230,"context_line":"  # similar components that won\u0027t be exercised by the job anyway."},{"line_number":1231,"context_line":"  - name: ^.*(devstack|tempest|grenade|rally|cinder|swift|install|neutron-lbaas|neutron-vpnaas|ironic|ironic-inspector|heat|mogan)-dsvm.*$"},{"line_number":1232,"context_line":"    skip-if:"},{"line_number":1233,"context_line":"      - project: ^openstack/cinder$"},{"line_number":1234,"context_line":"        all-files-match-any:"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"9f436f4f_ad2d6fa9","line":1231,"in_reply_to":"9f436f4f_306441e5","updated":"2017-08-21 14:49:03.000000000","message":"Done","commit_id":"c9d28022cdbd1febf35b5e62fe14b59c87bc0d0d"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"646e7d0a34eed47cb4248b9aec79db1302d8df2a","unresolved":false,"context_lines":[{"line_number":1491,"context_line":""},{"line_number":1492,"context_line":"  # Skip long, expensive jobs when the change only affects docs,"},{"line_number":1493,"context_line":"  # release notes, unit tests, and non-code in keystone"},{"line_number":1494,"context_line":"  - name: ^gate-(keystone|keystoneclient|grenade|tempest)-dsvm-(functional|neutron)-.*$"},{"line_number":1495,"context_line":"    skip-if:"},{"line_number":1496,"context_line":"      - project: ^openstack/keystone$"},{"line_number":1497,"context_line":"          - ^.*\\.rst$"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"9f436f4f_b09dd1bc","line":1494,"updated":"2017-08-21 07:30:22.000000000","message":"this matches gate-grenade-* and gate-tempest-* which seem unrelated here?","commit_id":"c9d28022cdbd1febf35b5e62fe14b59c87bc0d0d"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"ae203eef486c8abb6c94b1f6ae11ea3120387e5b","unresolved":false,"context_lines":[{"line_number":1491,"context_line":""},{"line_number":1492,"context_line":"  # Skip long, expensive jobs when the change only affects docs,"},{"line_number":1493,"context_line":"  # release notes, unit tests, and non-code in keystone"},{"line_number":1494,"context_line":"  - name: ^gate-(keystone|keystoneclient|grenade|tempest)-dsvm-(functional|neutron)-.*$"},{"line_number":1495,"context_line":"    skip-if:"},{"line_number":1496,"context_line":"      - project: ^openstack/keystone$"},{"line_number":1497,"context_line":"          - ^.*\\.rst$"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"9f436f4f_8d8cebd7","line":1494,"in_reply_to":"9f436f4f_b09dd1bc","updated":"2017-08-21 14:49:03.000000000","message":"keystone runs both gate-tempest-dsvm-neutron-full-ubuntu-xenial and gate-grenade-dsvm-neutron-ubuntu-xenial, which is why these are here.","commit_id":"c9d28022cdbd1febf35b5e62fe14b59c87bc0d0d"},{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"548ba72333ecaadd185d32c1e3b21ea5f27ad7f0","unresolved":false,"context_lines":[{"line_number":1228,"context_line":"  # Skip these long-running and expensive devstack jobs when the"},{"line_number":1229,"context_line":"  # change is only to documentation, release notes, unit tests or"},{"line_number":1230,"context_line":"  # similar components that won\u0027t be exercised by the job anyway."},{"line_number":1231,"context_line":"  - name: ^.*(devstack|tempest|grenade|rally|cinder|swift|install|neutron-lbaas|neutron-vpnaas|ironic|ironic-inspector|heat|mogan)-dsvm.*$"},{"line_number":1232,"context_line":"    skip-if:"},{"line_number":1233,"context_line":"      - project: ^openstack/cinder$"},{"line_number":1234,"context_line":"        all-files-match-any:"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"9f436f4f_3250aa0a","line":1231,"updated":"2017-08-22 05:48:34.000000000","message":"check the regex above and compare with the jobs you want to not run","commit_id":"b2fe26f37a72a1829fb3d5f3eb09f4effa6901bb"},{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"548ba72333ecaadd185d32c1e3b21ea5f27ad7f0","unresolved":false,"context_lines":[{"line_number":1497,"context_line":"          - ^contrib/block-box.*$"},{"line_number":1498,"context_line":"          - ^releasenotes/.*$"},{"line_number":1499,"context_line":""},{"line_number":1500,"context_line":"  # Skip long, expensive jobs when the change only affects docs,"},{"line_number":1501,"context_line":"  # release notes, unit tests, and non-code in keystone"},{"line_number":1502,"context_line":"  - name: ^gate-(keystone|keystoneclient|grenade|tempest)-dsvm-(functional|neutron)-.*$"},{"line_number":1503,"context_line":"    skip-if:"},{"line_number":1504,"context_line":"      - project: ^openstack/keystone$"},{"line_number":1505,"context_line":"          - ^.*\\.rst$"},{"line_number":1506,"context_line":"          - ^api-ref/.*$"},{"line_number":1507,"context_line":"          - ^doc/.*$"},{"line_number":1508,"context_line":"          - ^etc/.*$"},{"line_number":1509,"context_line":"          - ^releasenotes/.*$"},{"line_number":1510,"context_line":"          - ^keystone/tests/unit/.*$"},{"line_number":1511,"context_line":""},{"line_number":1512,"context_line":"  # Skip non-doc jobs for doc-only or translation-only neutron"},{"line_number":1513,"context_line":"  # changes. Since doc/source/conf.py is checked by"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"9f436f4f_d2403e38","line":1510,"range":{"start_line":1500,"start_character":0,"end_line":1510,"end_character":36},"updated":"2017-08-22 05:48:34.000000000","message":"why duplicate? Let\u0027s have *one* skip-if","commit_id":"b2fe26f37a72a1829fb3d5f3eb09f4effa6901bb"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"9a2f949a823904be1f754fb25521a780bedf5158","unresolved":false,"context_lines":[{"line_number":1497,"context_line":"          - ^contrib/block-box.*$"},{"line_number":1498,"context_line":"          - ^releasenotes/.*$"},{"line_number":1499,"context_line":""},{"line_number":1500,"context_line":"  # Skip long, expensive jobs when the change only affects docs,"},{"line_number":1501,"context_line":"  # release notes, unit tests, and non-code in keystone"},{"line_number":1502,"context_line":"  - name: ^gate-(keystone|keystoneclient|grenade|tempest)-dsvm-(functional|neutron)-.*$"},{"line_number":1503,"context_line":"    skip-if:"},{"line_number":1504,"context_line":"      - project: ^openstack/keystone$"},{"line_number":1505,"context_line":"          - ^.*\\.rst$"},{"line_number":1506,"context_line":"          - ^api-ref/.*$"},{"line_number":1507,"context_line":"          - ^doc/.*$"},{"line_number":1508,"context_line":"          - ^etc/.*$"},{"line_number":1509,"context_line":"          - ^releasenotes/.*$"},{"line_number":1510,"context_line":"          - ^keystone/tests/unit/.*$"},{"line_number":1511,"context_line":""},{"line_number":1512,"context_line":"  # Skip non-doc jobs for doc-only or translation-only neutron"},{"line_number":1513,"context_line":"  # changes. Since doc/source/conf.py is checked by"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"7f287b81_51e9b2b4","line":1510,"range":{"start_line":1500,"start_character":0,"end_line":1510,"end_character":36},"in_reply_to":"9f436f4f_d2403e38","updated":"2017-08-28 20:24:27.000000000","message":"Done","commit_id":"b2fe26f37a72a1829fb3d5f3eb09f4effa6901bb"}]}
