)]}'
{".zuul.d/project-template.yaml":[{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"cba1e07e2a6edf11fd5b24066f0fe9c1203bb2bc","unresolved":false,"context_lines":[{"line_number":1,"context_line":"- project-template:"},{"line_number":2,"context_line":"    name: check-requirements"},{"line_number":3,"context_line":"    check:"},{"line_number":4,"context_line":"      jobs:"},{"line_number":5,"context_line":"        - requirements-check"},{"line_number":6,"context_line":"    gate:"},{"line_number":7,"context_line":"      jobs:"},{"line_number":8,"context_line":"        - requirements-check"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"- job:"},{"line_number":11,"context_line":"    name: requirements-cross-test"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"3f4b6375_3160eece","line":8,"range":{"start_line":1,"start_character":0,"end_line":8,"end_character":28},"updated":"2017-10-19 06:47:33.000000000","message":"This a project-template and in the right spot.\n\nThe rest shouldn\u0027t be in this file, it should be in project.yaml or perhaps even cross-jobs.yaml","commit_id":"a9e0e3d2795c0f02cbd29107d22032a952bfda7b"}],".zuul.yaml":[{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"6aeb7093f2f99e1ba098d1e37094951e182433ba","unresolved":false,"context_lines":[{"line_number":21,"context_line":"      .. zuul:jobvar:: tox_envlist"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"         Use the specified tox environments (``ALL`` selects all)."},{"line_number":24,"context_line":"    run: playbooks/requirements-cross-test"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"- job:"},{"line_number":27,"context_line":"    name: requirements-cross-nova-py27"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"3f4b6375_7112edb3","line":24,"updated":"2017-10-19 00:41:49.000000000","message":"I think we need a:\n\n    files:\n      - ^upper-constraints.txt$\n\nHere so we only run these jobs on upper-constraints changes which IIRC matches what we do in v2.","commit_id":"98504b6cb97cd8709afc3924e3a868c6bc4b1368"},{"author":{"_account_id":6593,"name":"Dirk Mueller","email":"dirk@dmllr.de","username":"dmllr"},"change_message_id":"1a61cfed7aa4cdf249b70831e253b4dd39e0428c","unresolved":false,"context_lines":[{"line_number":21,"context_line":"      .. zuul:jobvar:: tox_envlist"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"         Use the specified tox environments (``ALL`` selects all)."},{"line_number":24,"context_line":"    run: playbooks/requirements-cross-test"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"- job:"},{"line_number":27,"context_line":"    name: requirements-cross-nova-py27"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"3f4b6375_71f66692","line":24,"in_reply_to":"3f4b6375_7112edb3","updated":"2017-10-19 07:12:20.000000000","message":"you want that in the template rather than the job? it is in the job now.","commit_id":"98504b6cb97cd8709afc3924e3a868c6bc4b1368"},{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"6aeb7093f2f99e1ba098d1e37094951e182433ba","unresolved":false,"context_lines":[{"line_number":29,"context_line":"    description: Run cross-project tests on nova with py27."},{"line_number":30,"context_line":"    required-projects: openstack/nova"},{"line_number":31,"context_line":"    vars:"},{"line_number":32,"context_line":"      tox_envlist: py27"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"- job:"},{"line_number":35,"context_line":"    name: requirements-check"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"3f4b6375_5127f113","line":32,"updated":"2017-10-19 00:41:49.000000000","message":"in v2 we run the nova py27 and functional tests so IIUC we can add functional to tox_envlist to get the same behaviour?","commit_id":"98504b6cb97cd8709afc3924e3a868c6bc4b1368"},{"author":{"_account_id":6593,"name":"Dirk Mueller","email":"dirk@dmllr.de","username":"dmllr"},"change_message_id":"1a61cfed7aa4cdf249b70831e253b4dd39e0428c","unresolved":false,"context_lines":[{"line_number":29,"context_line":"    description: Run cross-project tests on nova with py27."},{"line_number":30,"context_line":"    required-projects: openstack/nova"},{"line_number":31,"context_line":"    vars:"},{"line_number":32,"context_line":"      tox_envlist: py27"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"- job:"},{"line_number":35,"context_line":"    name: requirements-check"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"3f4b6375_112bb2eb","line":32,"in_reply_to":"3f4b6375_5127f113","updated":"2017-10-19 07:12:20.000000000","message":"I looked elsewhere and duplication seems to be the solution.","commit_id":"98504b6cb97cd8709afc3924e3a868c6bc4b1368"}],"/COMMIT_MSG":[{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"44e20c522b5a5062d863e76171ab03aab599c335","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Convert the existing legacy-cross-* jobs over to the"},{"line_number":10,"context_line":"new cross-check-job."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Adds a small bump to upper-constraints in order to test"},{"line_number":13,"context_line":"the success of this review."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Co-Authored-By: Dirk Mueller \u003cdirk@dmllr.de\u003e"},{"line_number":16,"context_line":"Change-Id: Iba6a025e3a10185ad1d8217244b967713cace3f6"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":15,"id":"3f4b6375_909f834f","line":13,"range":{"start_line":12,"start_character":0,"end_line":13,"end_character":27},"updated":"2017-10-20 01:46:45.000000000","message":"Ok.  I guess that makes sense.  I\u0027d rather you did it in a separate change the Depends-On this one or is branched from here.","commit_id":"1009443f66d76bd113f6d20fe47b00ffc0ecf1b8"}],"playbooks/requirements-cross-test.yaml":[{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"6ac1b8bd1c2204da6077d36fefce41facf79b40a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"- hosts: all"},{"line_number":2,"context_line":"  roles:"},{"line_number":3,"context_line":"    - role: tox"},{"line_number":4,"context_line":"      zuul_work_dir: \"{{ (zuul.projects | selectattr(\u0027required\u0027) | list)[0].src_dir }}\""},{"line_number":5,"context_line":"      tox_constraints_file: \"{{ ansible_user_dir }}/src/git.openstack.org/openstack/requirements/upper-constraints.txt\""}],"source_content_type":"text/x-yaml","patch_set":4,"id":"3f4b6375_d98e75cf","line":4,"updated":"2017-10-18 16:36:54.000000000","message":"How is the ordering of projects in this list defined? Seems we cannot really rely on [0] being what we want.","commit_id":"b33953eeecb40fffdbfbca8f8d13182df10b65cf"},{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"5a1bd4e335bf24ce4ad20efb14eae4de58c45185","unresolved":false,"context_lines":[{"line_number":1,"context_line":"- hosts: all"},{"line_number":2,"context_line":"  roles:"},{"line_number":3,"context_line":"    - role: tox"},{"line_number":4,"context_line":"      zuul_work_dir: \"{{ (zuul.projects | selectattr(\u0027required\u0027) | list)[0].src_dir }}\""},{"line_number":5,"context_line":"      tox_constraints_file: \"{{ ansible_user_dir }}/src/git.openstack.org/openstack/requirements/upper-constraints.txt\""}],"source_content_type":"text/x-yaml","patch_set":4,"id":"3f4b6375_2a408935","line":4,"updated":"2017-10-18 17:32:35.000000000","message":"It\u0027s undefined -- but this should (theoretically) work as long as there is only one project added to required-projects.  The project associated with the change (openstack/requirements in this case) does not have the \u0027required\u0027 flag set to true.  So this should pull out only openstack/nova from the list.\n\nAs for the error, I don\u0027t yet know if it\u0027s because this expression is wrong, or some other reason.","commit_id":"b33953eeecb40fffdbfbca8f8d13182df10b65cf"},{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"21283f9f4f3b420c6c86057421cadeb9045aaafe","unresolved":false,"context_lines":[{"line_number":1,"context_line":"- hosts: all"},{"line_number":2,"context_line":"  roles:"},{"line_number":3,"context_line":"    - role: tox"},{"line_number":4,"context_line":"      zuul_work_dir: \"{{ (zuul.projects | selectattr(\u0027required\u0027) | list)[0].src_dir }}\""},{"line_number":5,"context_line":"      tox_constraints_file: \"{{ ansible_user_dir }}/src/git.openstack.org/openstack/requirements/upper-constraints.txt\""}],"source_content_type":"text/x-yaml","patch_set":4,"id":"3f4b6375_452616ba","line":4,"updated":"2017-10-18 18:01:50.000000000","message":"Oh I see the problem.  Because we\u0027re inheriting from openstack-tox, openstack/requirements *is* a required project, so it does match this selector.","commit_id":"b33953eeecb40fffdbfbca8f8d13182df10b65cf"},{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"17e61925da3fc2512a97280258d7426afa1917fc","unresolved":false,"context_lines":[{"line_number":2,"context_line":"  roles:"},{"line_number":3,"context_line":"    - role: tox"},{"line_number":4,"context_line":"      zuul_work_dir: \"{{ (zuul.projects | selectattr(\u0027required\u0027) | selectattr(\u0027name\u0027, \u0027match\u0027, \u0027^(?!openstack/requirements)\u0027) | list)[0].src_dir }}\""},{"line_number":5,"context_line":"      tox_constraints_file: \"{{ ansible_user_dir }}/src/git.openstack.org/openstack/requirements/upper-constraints.txt\""}],"source_content_type":"text/x-yaml","patch_set":5,"id":"3f4b6375_4e7619a7","line":5,"updated":"2017-10-19 17:48:46.000000000","message":"I think you\u0027re right, and we can also probably move zuul_work_dir into our parent job definition.","commit_id":"98504b6cb97cd8709afc3924e3a868c6bc4b1368"},{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"6aeb7093f2f99e1ba098d1e37094951e182433ba","unresolved":false,"context_lines":[{"line_number":2,"context_line":"  roles:"},{"line_number":3,"context_line":"    - role: tox"},{"line_number":4,"context_line":"      zuul_work_dir: \"{{ (zuul.projects | selectattr(\u0027required\u0027) | selectattr(\u0027name\u0027, \u0027match\u0027, \u0027^(?!openstack/requirements)\u0027) | list)[0].src_dir }}\""},{"line_number":5,"context_line":"      tox_constraints_file: \"{{ ansible_user_dir }}/src/git.openstack.org/openstack/requirements/upper-constraints.txt\""}],"source_content_type":"text/x-yaml","patch_set":5,"id":"3f4b6375_3124750d","line":5,"updated":"2017-10-19 00:41:49.000000000","message":"Not that it matters for right now but don\u0027t we inherit this from openstack-tox ?\n\nhttp://git.openstack.org/cgit/openstack-infra/openstack-zuul-jobs/tree/zuul.d/jobs.yaml#n216","commit_id":"98504b6cb97cd8709afc3924e3a868c6bc4b1368"}],"upper-constraints.txt":[{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"cba1e07e2a6edf11fd5b24066f0fe9c1203bb2bc","unresolved":false,"context_lines":[{"line_number":180,"context_line":"python-zunclient\u003d\u003d\u003d0.4.0"},{"line_number":181,"context_line":"tzlocal\u003d\u003d\u003d1.4"},{"line_number":182,"context_line":"python-novaclient\u003d\u003d\u003d9.1.1"},{"line_number":183,"context_line":"bcrypt\u003d\u003d\u003d3.1.4"},{"line_number":184,"context_line":"os-client-config\u003d\u003d\u003d1.28.0"},{"line_number":185,"context_line":"XStatic-Angular-Gettext\u003d\u003d\u003d2.3.8.0"},{"line_number":186,"context_line":"Pygments\u003d\u003d\u003d2.2.0"}],"source_content_type":"text/plain","patch_set":9,"id":"3f4b6375_6e0a0727","line":183,"updated":"2017-10-19 06:47:33.000000000","message":"que?","commit_id":"a9e0e3d2795c0f02cbd29107d22032a952bfda7b"}]}
