)]}'
{"id":"openstack%2Foslo.utils~969082","triplet_id":"openstack%2Foslo.utils~master~I4020374b45c8ead4b3b65651389c1e903a1de7bd","project":"openstack/oslo.utils","branch":"master","topic":"typing","attention_set":{},"removed_from_attention_set":{"15334":{"account":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"last_update":"2025-12-04 14:24:31.000000000","reason":"\u003cGERRIT_ACCOUNT_15334\u003e replied on the change","reason_account":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"}},"28522":{"account":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"last_update":"2025-12-05 18:54:52.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"I4020374b45c8ead4b3b65651389c1e903a1de7bd","subject":"Run mypy from tox","status":"MERGED","created":"2025-12-01 14:13:28.000000000","updated":"2025-12-05 18:55:42.000000000","submitted":"2025-12-05 18:54:52.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":2,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"969082-typing","meta_rev_id":"9c1aac6c1ec19221c59196344bb915cc997b574c","_number":969082,"virtual_id_number":969082,"owner":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2025-12-05 18:54:52.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"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":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"all":[{"value":2,"date":"2025-12-05 17:25:07.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"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":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"all":[{"value":1,"date":"2025-12-05 17:25:07.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Backport-Candidate":{"all":[{"value":0,"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Do Not Backport","-1":"Not A Backport Candidate"," 0":"Backport Review Needed","+1":"Proposed Backport","+2":"Should Backport"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"CC":[{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"}],"REVIEWER":[{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2025-12-01 15:53:05.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":"2025-12-03 11:10:28.000000000","updated_by":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"reviewer":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"state":"CC"}],"messages":[{"id":"bf3ce3492bb1fc2c94f02ab1744fd185d6572da2","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2025-12-01 14:13:28.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"986a369d19573a5c86f8f93932aca4ddc27c8553","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-12-01 15:53:05.000000000","message":"Patch Set 1: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/0819ad564ac04719adf33899835b2d36\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/524b02c46cbf4efd8f3e97d36ead5b04 : SUCCESS in 2m 27s\n- requirements-check https://zuul.opendev.org/t/openstack/build/39a5aaf6a0e946d49748c168c9cc4fcb : SUCCESS in 1m 40s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/490b974a8a6a4d0f855f9986c7414478 : SUCCESS in 1h 36m 20s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/4b04931aeffd428792a411cb98bcfe7e : SUCCESS in 13m 38s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/7e8e3032a1ee4b2384257e0915a8ec59 : FAILURE in 2m 13s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/305bbd264586431a88ab64d1178333db : SUCCESS in 3m 02s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/701071d12ad744648a4cac28b2628ce4 : SUCCESS in 8m 42s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/75467aa93a2140b3a9da61ca8d92388b : SUCCESS in 2m 22s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/fe389de576ff4af58ab679bb127a8796 : SUCCESS in 5m 08s","accounts_in_message":[],"_revision_number":1},{"id":"6f5ff270e3bdb6be9152878413e5a0c38a476e75","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2025-12-01 16:43:22.000000000","message":"Patch Set 2: Published edit on patch set 1.\n\nOutdated Votes:\n* Verified-1\n","accounts_in_message":[],"_revision_number":2},{"id":"5870fea8776d7300f144cbfc6ccac3c01940f448","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-12-01 18:51:40.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/ab10343c6f1e438493a268d1d7f091ca\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/ed32aae00da14bfeb6efe693b7b54af0 : SUCCESS in 1m 31s\n- requirements-check https://zuul.opendev.org/t/openstack/build/b3d43017d63c43c387651dcf602366ed : SUCCESS in 2m 49s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/3821a4df19c942d6ab6a8fbc53f60421 : SUCCESS in 2h 03m 08s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/0084a1f6557a48e0852fc7b29fea6d6a : SUCCESS in 5m 42s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/31a2a2a9df944c36ae3e87230ba47357 : SUCCESS in 5m 34s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/47af501e0af848628d4264112a0256aa : SUCCESS in 3m 51s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/d747bfc32cf64fd5b8bfa4594eadac7a : SUCCESS in 9m 37s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/77aeeba2ff624bb684b3c3a35bfd166a : SUCCESS in 4m 03s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/c8b355563eb64964a1c3c1cbb2ee89a6 : SUCCESS in 4m 17s","accounts_in_message":[],"_revision_number":2},{"id":"bde65e9cd689687277bffae3f37c68ae84410d4c","author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"date":"2025-12-03 11:10:28.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"ba576c9fd02fef8611db1940a766167920309105","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2025-12-04 14:24:31.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"ee4edb7a76f65a201d1b0ac98deb3c801faf9fe0","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2025-12-04 18:18:47.000000000","message":"Uploaded patch set 3.\n\nOutdated Votes:\n* Verified+1\n","accounts_in_message":[],"_revision_number":3},{"id":"821e951e6d25fe02f458f1b6b5b99f1e51ec39a6","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-12-04 20:16:53.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/53899dca8ebe48a2a19ca68f81e90eae\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/3a8332a27b5b4654bcb387125901962a : SUCCESS in 4m 28s\n- requirements-check https://zuul.opendev.org/t/openstack/build/ffb2aa4b669942d78209810e0d8cece6 : SUCCESS in 2m 32s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/c35b181d789248fab3b9529281ac738b : SUCCESS in 1h 51m 36s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/acd597ad829d47048d8a42b7d4becac0 : SUCCESS in 14m 01s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/1e5479fbb96342b1af2d58c32daca58c : SUCCESS in 4m 01s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/46d6c822c37b48e6b738ada264b6fca7 : SUCCESS in 3m 28s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/02d3b560c39b4bbda4c786df269cb0ff : SUCCESS in 9m 30s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/448e733f6c734619a060e208e5fbf8f2 : SUCCESS in 3m 25s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/582d3efb874e4afba3617852ce989266 : SUCCESS in 2m 59s","accounts_in_message":[],"_revision_number":3},{"id":"b84fa44f165da08ac5f5e2d3784f4eb70408550e","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2025-12-05 17:25:07.000000000","message":"Patch Set 3: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":3},{"id":"8648a117a08e158f1cb9dda6bac83803fd2d3ab9","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-12-05 17:25:38.000000000","message":"Patch Set 3: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":3},{"id":"8b700e4a5ae06c25ab5497d5d2d0d3e013df401b","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-12-05 18:54:52.000000000","message":"Patch Set 3: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/9e9b653cb8894e54b250250c035cbba8\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/648276a9a3d4451e89331b70e701ce14 : SUCCESS in 3m 31s\n- requirements-check https://zuul.opendev.org/t/openstack/build/38afc8149f7e4cb6acda5a79f3a7eb56 : SUCCESS in 2m 43s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/8e162e34fe334ee79a76f7a1a3aef25e : SUCCESS in 1h 28m 07s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/c0f221afe8b843e39168e2d1816aba4f : SUCCESS in 2m 51s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/07fcd840ed444807a38fcf6067d3e9f5 : SUCCESS in 5m 56s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/ef4039484bb4468383064077bf593bd8 : SUCCESS in 5m 03s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/0fb9b1cebc6a4db79b1733a8b1ba71fb : SUCCESS in 3m 39s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/026e0aec0bd743858dc0a3bc3928a8df : SUCCESS in 2m 57s","accounts_in_message":[],"_revision_number":3},{"id":"74abd06158b55104879effde249c8afe35a4733b","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-12-05 18:54:52.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":3},{"id":"9c1aac6c1ec19221c59196344bb915cc997b574c","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-12-05 18:55:42.000000000","message":"Patch Set 3:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/5fec808a6dd84737a99fdfbe6aeefc89\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/95efb3f4ab79439495cb0dee98bd0611 : SUCCESS in 37s\n- promote-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/97a27ed93309415cba6e754e9f85086a : SUCCESS in 36s","accounts_in_message":[],"_revision_number":3}],"current_revision_number":3,"current_revision":"67bfcbdd0b8714cae883ebda59bd9f0a02f852fc","revisions":{"90e8bb12a5b7267e38d7dab9419d7d8e47cff637":{"kind":"REWORK","_number":1,"created":"2025-12-01 14:13:28.000000000","uploader":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"ref":"refs/changes/82/969082/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.utils","ref":"refs/changes/82/969082/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.utils refs/changes/82/969082/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.utils refs/changes/82/969082/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.utils refs/changes/82/969082/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.utils refs/changes/82/969082/1"}}},"commit":{"parents":[{"commit":"0127b20b2269aadd6eddfee1b4479f3401bcd1bb","subject":"tests: Remove unnecessary base class","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.utils/commit/0127b20b2269aadd6eddfee1b4479f3401bcd1bb"}]}],"author":{"name":"Stephen Finucane","email":"sfinucan@redhat.com","date":"2025-12-01 13:46:27.000000000","tz":0},"committer":{"name":"Stephen Finucane","email":"sfinucan@redhat.com","date":"2025-12-01 14:12:46.000000000","tz":0},"subject":"Run mypy from tox","message":"Run mypy from tox\n\nThis avoids the need to duplicate our dependency list in multiple\nplaces and allows us to take advantage of tox\u0027s dependency management\ninfrastructure, to ensure we always get the latest and greatest version\nof a package allowed by upper-constraints.\n\nWhile here, we also bump the other pre-commit hooks and update hints to\naccommodate typed fixtures.\n\nChange-Id: I4020374b45c8ead4b3b65651389c1e903a1de7bd\nSigned-off-by: Stephen Finucane \u003csfinucan@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.utils/commit/90e8bb12a5b7267e38d7dab9419d7d8e47cff637"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.utils/commit/90e8bb12a5b7267e38d7dab9419d7d8e47cff637"}]},"branch":"refs/heads/master"},"ccab0328c9dc22cb42ca1136cfc1f33999875de5":{"kind":"REWORK","_number":2,"created":"2025-12-01 16:43:22.000000000","uploader":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"ref":"refs/changes/82/969082/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.utils","ref":"refs/changes/82/969082/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.utils refs/changes/82/969082/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.utils refs/changes/82/969082/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.utils refs/changes/82/969082/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.utils refs/changes/82/969082/2"}}},"commit":{"parents":[{"commit":"0127b20b2269aadd6eddfee1b4479f3401bcd1bb","subject":"tests: Remove unnecessary base class","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.utils/commit/0127b20b2269aadd6eddfee1b4479f3401bcd1bb"}]}],"author":{"name":"Stephen Finucane","email":"sfinucan@redhat.com","date":"2025-12-01 13:46:27.000000000","tz":0},"committer":{"name":"Stephen Finucane","email":"sfinucan@redhat.com","date":"2025-12-01 16:43:22.000000000","tz":0},"subject":"Run mypy from tox","message":"Run mypy from tox\n\nThis avoids the need to duplicate our dependency list in multiple\nplaces and allows us to take advantage of tox\u0027s dependency management\ninfrastructure, to ensure we always get the latest and greatest version\nof a package allowed by upper-constraints.\n\nWhile here, we also bump the other pre-commit hooks and update hints to\naccommodate typed fixtures.\n\nChange-Id: I4020374b45c8ead4b3b65651389c1e903a1de7bd\nSigned-off-by: Stephen Finucane \u003csfinucan@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.utils/commit/ccab0328c9dc22cb42ca1136cfc1f33999875de5"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.utils/commit/ccab0328c9dc22cb42ca1136cfc1f33999875de5"}]},"branch":"refs/heads/master"},"67bfcbdd0b8714cae883ebda59bd9f0a02f852fc":{"kind":"REWORK","_number":3,"created":"2025-12-04 18:18:47.000000000","uploader":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"ref":"refs/changes/82/969082/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.utils","ref":"refs/changes/82/969082/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.utils refs/changes/82/969082/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.utils refs/changes/82/969082/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.utils refs/changes/82/969082/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.utils refs/changes/82/969082/3"}}},"commit":{"parents":[{"commit":"0127b20b2269aadd6eddfee1b4479f3401bcd1bb","subject":"tests: Remove unnecessary base class","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.utils/commit/0127b20b2269aadd6eddfee1b4479f3401bcd1bb"}]}],"author":{"name":"Stephen Finucane","email":"sfinucan@redhat.com","date":"2025-12-01 13:46:27.000000000","tz":0},"committer":{"name":"Stephen Finucane","email":"sfinucan@redhat.com","date":"2025-12-04 18:18:35.000000000","tz":0},"subject":"Run mypy from tox","message":"Run mypy from tox\n\nThis avoids the need to duplicate our dependency list in multiple\nplaces and allows us to take advantage of tox\u0027s dependency management\ninfrastructure, to ensure we always get the latest and greatest version\nof a package allowed by upper-constraints.\n\nWhile here, we also bump the other pre-commit hooks and update hints to\naccommodate typed fixtures.\n\nChange-Id: I4020374b45c8ead4b3b65651389c1e903a1de7bd\nSigned-off-by: Stephen Finucane \u003csfinucan@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.utils/commit/67bfcbdd0b8714cae883ebda59bd9f0a02f852fc"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.utils/commit/67bfcbdd0b8714cae883ebda59bd9f0a02f852fc"}]},"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":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"}},{"label":"Backport-Candidate","status":"MAY"}]}],"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":"Backport-Candidate","description":"Backport candidate status","status":"NOT_APPLICABLE","is_legacy":false,"applicability_expression_result":{"fulfilled":false,"status":"FAIL"},"submittability_expression_result":{"expression":"is:true","fulfilled":true,"status":"NOT_EVALUATED","passing_atoms":[],"failing_atoms":[],"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":{}}}]}
