)]}'
{"id":"openstack%2Fgrian-ui~983723","triplet_id":"openstack%2Fgrian-ui~master~I4b857427f89b25fbc697d283c38bcd7c5d1417c3","project":"openstack/grian-ui","branch":"master","topic":"pyproject.toml","attention_set":{},"removed_from_attention_set":{"11604":{"account":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"last_update":"2026-04-10 16:24:33.000000000","reason":"Change was submitted"},"15334":{"account":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"last_update":"2026-04-10 16:24:33.000000000","reason":"Change was submitted"},"6413":{"account":{"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"},"last_update":"2026-04-10 15:14:33.000000000","reason":"\u003cGERRIT_ACCOUNT_6413\u003e replied on the change","reason_account":{"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"}}},"hashtags":[],"change_id":"I4b857427f89b25fbc697d283c38bcd7c5d1417c3","subject":"Add pypi-check tox env and fix README rst syntax","status":"MERGED","created":"2026-04-08 13:34:45.000000000","updated":"2026-04-10 16:26:41.000000000","submitted":"2026-04-10 16:24:33.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":12,"unresolved_comment_count":5,"has_review_started":true,"submission_id":"983723-pyproject.toml","meta_rev_id":"923cd622f5a8891204293c5673ccd4c07d0cd2e3","_number":983723,"virtual_id_number":983723,"owner":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-04-10 16:24:33.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"},"all":[{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":2,"date":"2026-04-10 15:14:33.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"},"all":[{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":1,"date":"2026-04-10 15:14:33.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"CC":[{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-04-08 13:36:19.000000000","updated_by":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"reviewer":{"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"},"state":"REVIEWER"},{"updated":"2026-04-08 13:46:48.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2026-04-08 14:53:36.000000000","updated_by":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"reviewer":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"state":"CC"}],"messages":[{"id":"8fc5ae17901d3a789ed3e88c695a4163b4204f17","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-04-08 13:34:45.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"19ff0b8d3d82c9e7abb84e9b76959ad44541f8c9","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-04-08 13:36:19.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"f2b4546b815268c46b8d510b61fd855d0676efbf","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-08 13:46:48.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/fc334be1ba8d477c8fdc1b09afee2294\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/3bea8a1afba84037a15f79d8db35ca59 : SUCCESS in 2m 33s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/dcd6536c3cb54bb89c9a4ccb5a3df707 : SUCCESS in 7m 01s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/9160e0053a044f33b8a99c3af8164f31 : SUCCESS in 3m 50s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/f07cf42f33f04ffdb9ace852dbe8d768 : SUCCESS in 4m 27s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/96113e61d3a04fdabde56eba6f262519 : SUCCESS in 4m 47s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/7cdc945ac63f4205868431ca9f4ef586 : SUCCESS in 3m 24s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/5827e3eedbe54d499812960a4e384fd1 : FAILURE in 4m 37s (non-voting)\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/d02a6b1aadd5463288d928b91df31e25 : SUCCESS in 3m 28s","accounts_in_message":[],"_revision_number":1},{"id":"feaa84a36869f91abbe452511d6a314f8e69049a","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-04-08 14:53:36.000000000","message":"Patch Set 1:\n\n(4 comments)","accounts_in_message":[],"_revision_number":1},{"id":"2273df18367014f5729f51a824f6a504d20438a9","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-04-08 15:03:33.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"0564441154ee7ae97ccb5b82148279fd66d0d960","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-04-08 16:02:22.000000000","message":"Patch Set 1:\n\n(2 comments)","accounts_in_message":[],"_revision_number":1},{"id":"9cdb198f815322182802cfe383bd6b2822b3d000","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-04-08 16:24:28.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"617707c11381997d0ef58cbcd2f0e53435a27ed1","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-04-08 16:28:08.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Verified+1\n","accounts_in_message":[],"_revision_number":2},{"id":"36c59324b6bbf930bb988aa49596693ec15aa2c4","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-04-08 16:29:02.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"b536cd51b4e8e0e29d6e0f5ee1d87c3f822f2437","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-08 16:45:03.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/0382651757124263bcc8f5701d551c5d\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/16ea2f2f0fe7411682391fec8a0a8c4d : SUCCESS in 1m 56s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/ac000e0226244071a8c61301c194961a : SUCCESS in 4m 01s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/b57158f4554f4f319710f262a494cc8e : SUCCESS in 3m 31s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/cf7195116c1244d0b2c98a815ec85513 : SUCCESS in 5m 47s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/af9b1d8133f14cce985d4e236237db0a : SUCCESS in 3m 53s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/3977d8b70707492ba72976894dbb21f8 : SUCCESS in 3m 59s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/2bdb750415a64f85bf548b228e95cb9f : SUCCESS in 6m 09s (non-voting)\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/b85d10c51f3b4f8e81f4d3cca5bccde4 : SUCCESS in 3m 11s","accounts_in_message":[],"_revision_number":2},{"id":"7c6cd1dbe4a5be84919a4a68eb2ce61b7713fc3d","author":{"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"},"date":"2026-04-10 15:14:33.000000000","message":"Patch Set 2: Code-Review+2 Workflow+1\n\n(2 comments)","accounts_in_message":[],"_revision_number":2},{"id":"2a19991d948ffb625f2c7e3d4cfc6f8931652d23","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-10 15:15:41.000000000","message":"Patch Set 2: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":2},{"id":"7e70d224b4cf95ef003f213a2921182757c8a1e7","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-10 16:24:33.000000000","message":"Patch Set 2: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/337aab78eb0845e9bca5e47a66c82a62\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/35c5f518f98e4795a0d6e3eba409e657 : SUCCESS in 3m 03s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/21657200b0eb42b5939e4096e0f4e272 : SUCCESS in 8m 15s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/d8c714615405441cac47552ba1439b8a : SUCCESS in 4m 15s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/b8c2634f783b4107b63acf9ac34069a4 : SUCCESS in 4m 57s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/c1b6668479c447a3ad8b8b864b415434 : SUCCESS in 4m 28s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/6e10bd56988c49969f3c20c0afc85462 : SUCCESS in 5m 00s\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/4c5b5a52f9d24848bede5811c7071c83 : SUCCESS in 4m 41s","accounts_in_message":[],"_revision_number":2},{"id":"2792d20aa10cdb2a5c5f8701ae1923e37908971e","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-10 16:24:33.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":2},{"id":"923cd622f5a8891204293c5673ccd4c07d0cd2e3","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-10 16:26:41.000000000","message":"Patch Set 2:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/2dbb5d9ee9634deaa80139df7dcb73a5\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/a12caa76d1a7463cadcfe91d98d9556d : SUCCESS in 46s\n- promote-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/0fd5f7c27e6a4665805e8856eaeb74a0 : SUCCESS in 41s","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"14f09957a96fa99474c7586d245c177eee37f24f","revisions":{"a91e22f14ceede9c55ea0ca5775e003942b56122":{"kind":"REWORK","_number":1,"created":"2026-04-08 13:34:45.000000000","uploader":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"ref":"refs/changes/23/983723/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/grian-ui","ref":"refs/changes/23/983723/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/grian-ui refs/changes/23/983723/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/grian-ui refs/changes/23/983723/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/grian-ui refs/changes/23/983723/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/grian-ui refs/changes/23/983723/1"}}},"commit":{"parents":[{"commit":"80101412188bbb22e094fb88a68553e83b17d5e5","subject":"Merge \"Remove unused pcre packages\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/grian-ui/commit/80101412188bbb22e094fb88a68553e83b17d5e5"}]}],"author":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-04-08 13:33:08.000000000","tz":60},"committer":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-04-08 13:34:39.000000000","tz":60},"subject":"Add pypi-check tox env and fix README rst syntax","message":"Add pypi-check tox env and fix README rst syntax\n\nAdd a new tox environment `pypi-check` that builds the source and wheel\ndistributions and validates them with `twine check --strict` and\n`validate-pyproject`. This reproduces the upstream `test-release-openstack`\nCI job locally so packaging issues can be caught before pushing.\n\nFix the two `.. TODO::` blocks in README.rst which are not valid\nreStructuredText directives and cause `twine check` to fail with:\n\n  long_description has syntax errors in markup and would not be\n  rendered on PyPI. line 12: Error: Unknown directive type \"TODO\".\n\nReplace them with standard RST comment blocks (`..`). Also fix a\ntypo: s/exampel/example/.\n\nGenerated-By: Claude-Code Sonnet 4.6\nChange-Id: I4b857427f89b25fbc697d283c38bcd7c5d1417c3\nSigned-off-by: Sean Mooney \u003cwork@seanmooney.info\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/grian-ui/commit/a91e22f14ceede9c55ea0ca5775e003942b56122"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/grian-ui/commit/a91e22f14ceede9c55ea0ca5775e003942b56122"}]},"branch":"refs/heads/master"},"14f09957a96fa99474c7586d245c177eee37f24f":{"kind":"REWORK","_number":2,"created":"2026-04-08 16:28:08.000000000","uploader":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"ref":"refs/changes/23/983723/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/grian-ui","ref":"refs/changes/23/983723/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/grian-ui refs/changes/23/983723/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/grian-ui refs/changes/23/983723/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/grian-ui refs/changes/23/983723/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/grian-ui refs/changes/23/983723/2"}}},"commit":{"parents":[{"commit":"80101412188bbb22e094fb88a68553e83b17d5e5","subject":"Merge \"Remove unused pcre packages\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/grian-ui/commit/80101412188bbb22e094fb88a68553e83b17d5e5"}]}],"author":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-04-08 13:33:08.000000000","tz":60},"committer":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-04-08 16:26:26.000000000","tz":60},"subject":"Add pypi-check tox env and fix README rst syntax","message":"Add pypi-check tox env and fix README rst syntax\n\nAdd a new tox environment `pypi-check` that builds the source and wheel\ndistributions and validates them with `twine check --strict` and\n`validate-pyproject`. This reproduces the upstream `test-release-openstack`\nCI job locally so packaging issues can be caught before pushing.\n\nFix the two `.. TODO::` blocks in README.rst which are not valid\nreStructuredText directives and cause `twine check` to fail with:\n\n  long_description has syntax errors in markup and would not be\n  rendered on PyPI. line 12: Error: Unknown directive type \"TODO\".\n\nReplace them with standard RST comment blocks (`..`). Also fix a\ntypo: s/exampel/example/.\n\nGenerated-By: Claude-Code Sonnet 4.6\nChange-Id: I4b857427f89b25fbc697d283c38bcd7c5d1417c3\nSigned-off-by: Sean Mooney \u003cwork@seanmooney.info\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/grian-ui/commit/14f09957a96fa99474c7586d245c177eee37f24f"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/grian-ui/commit/14f09957a96fa99474c7586d245c177eee37f24f"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"CLOSED","labels":[{"label":"Verified","status":"MAY","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"MAY","applied_by":{"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"}}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dMAX"],"failing_atoms":["label:Verified\u003dMIN"],"atom_explanations":{}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dMAX"],"failing_atoms":["label:Code-Review\u003dMIN"],"atom_explanations":{}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Workflow\u003dMAX"],"failing_atoms":["label:Workflow\u003dMIN"],"atom_explanations":{}}}]}
