)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"71ed00bd5f0579dcff584703a7d679653cce6482","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"0ecde80b_ae212099","updated":"2026-06-11 17:06:25.000000000","message":"I like the fungi idea of making it nested so that every cycle we do not need to change the base things in two place.","commit_id":"cd933276e98bf9ffd0c2b8158f46c3ce2905282d"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"ba345faa22b120bb12547eb025a3bb4ff8d7b5f6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"3e6babee_383c23c8","updated":"2026-06-11 01:31:32.000000000","message":"thanks, lgtm","commit_id":"cd933276e98bf9ffd0c2b8158f46c3ce2905282d"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"de20517753973fe844ef8b1a1fbe7b203a8d6a0f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"f6f8feef_2f281327","in_reply_to":"0ecde80b_ae212099","updated":"2026-06-15 11:47:46.000000000","message":"@fungi@yuggoth.org do you mean like https://review.opendev.org/c/openstack/openstack-zuul-jobs/+/993337? It doesn\u0027t seem like job templates can have a `parent`.","commit_id":"cd933276e98bf9ffd0c2b8158f46c3ce2905282d"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"eb7f415d5e449db1b05fa27f4cb13aab1d6d2235","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"247a903d_6083dc4a","in_reply_to":"d3b13dac_2d50b6ec","updated":"2026-06-22 17:58:21.000000000","message":"I missed to read the fungi last comment but he clarified in IRC chat that nested template does not work so I am ok with this and later we can optimize it if we can/need.","commit_id":"cd933276e98bf9ffd0c2b8158f46c3ce2905282d"},{"author":{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},"change_message_id":"15a2d70c60ebe169bd2e6c960853290d7226ff3e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"fc1ac1a8_7df80f9f","in_reply_to":"f6f8feef_2f281327","updated":"2026-06-15 13:57:46.000000000","message":"I meant literally nesting a list of project-templates inside another project-template, since Zuul\u0027s documentation implies it could work, though apparently it doesn\u0027t based on my test just now: https://review.opendev.org/c/opendev/sandbox/+/993361/1/zuul.yaml","commit_id":"cd933276e98bf9ffd0c2b8158f46c3ce2905282d"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"83e27e375d0a97ecc800d8758bb2aa18c9c669b7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"d3b13dac_2d50b6ec","in_reply_to":"fc1ac1a8_7df80f9f","updated":"2026-06-22 16:26:10.000000000","message":"yeah, that was what I was thinking. something like:\n\n\n    - project-template:\n        name: openstack-python3-client-library-jobs\n        templates: openstack-python3-jobs\n        # NOTE: openstack-python3-jobs adds the required jobs as per the testing\n        # run time. In this template, only add the extra jobs which are not\n        # running as part of openstack-python3-jobs.\n        description: |\n          Runs unit tests for an OpenStack Python client or library project under\n          the CPython version 3 releases designated for testing the latest release.\n        check:\n          jobs:\n            # py3.13 testing is added as mandatory from 2026.1 release onwards.\n            # this is required here to ensure compatibility with the highest\n            # required version for services\n            - openstack-tox-py313:\n                branches:\n                  - master\n            # py3.14 testing is added as mandatory from 2026.2 release onwards\n            - openstack-tox-py314:\n                branches:\n                  - master\n            # py3.15 testing is added as non voting in 2026.2 release.\n            - openstack-tox-py315:\n                branches:\n                  - master\n                voting: false\n        gate:\n          jobs:\n            # py3.13 testing is added as mandatory from 2026.1 release onwards.\n            - openstack-tox-py313:\n                branches:\n                  - master\n            # py3.14 testing is added as mandatory from 2026.2 release onwards\n            - openstack-tox-py314:\n                branches:\n                  - master","commit_id":"cd933276e98bf9ffd0c2b8158f46c3ce2905282d"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a1814a38d30bb7ada6115ba149b38c5cff5c0e99","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"f02d3a89_b367edfd","updated":"2026-06-15 12:52:22.000000000","message":"recheck post failure","commit_id":"cccf748152da4c3e2434fae4cf9e2ad0218aac28"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"35e2a04c33a1cbc73fed68b5eba0e8c95056f4d0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"9ab24369_d6fe4154","updated":"2026-06-22 19:07:19.000000000","message":"removing my +1 from this as other approach is much better https://review.opendev.org/c/openstack/openstack-zuul-jobs/+/993337","commit_id":"bd67aebe856bb4a962ae28b445bc6d5a2c276c4a"}],"zuul.d/project-templates.yaml":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"c81e49d620f77a331c9e5ef07b55f120a6c4e882","unresolved":true,"context_lines":[{"line_number":716,"context_line":"        - publish-openstack-python-branch-tarball"},{"line_number":717,"context_line":""},{"line_number":718,"context_line":"- project-template:"},{"line_number":719,"context_line":"    name: openstack-python3-client-library-jobs"},{"line_number":720,"context_line":"    # NOTE(gmann): We are using this generic template for python version"},{"line_number":721,"context_line":"    # testing. When a new development cycle starts, we need to do two things:"},{"line_number":722,"context_line":"    # 1. Update this template for the python version jobs as per the"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"2d0d35c9_ac86fe81","line":719,"range":{"start_line":719,"start_character":10,"end_line":719,"end_character":47},"updated":"2026-06-11 03:45:00.000000000","message":"I don\u0027t know if this single template really works given that the project may have opt-in to the new python version in various timing, and I don\u0027t want also to be blocked by different projects not fixing their code.\n\nI\u0027m inclined to say that we should have a specific template for oslo (and probably sdk) now, rather than using the general client/library naming.","commit_id":"cd933276e98bf9ffd0c2b8158f46c3ce2905282d"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"316d9699d35436022f00d7eb1ea2135ac12b2898","unresolved":true,"context_lines":[{"line_number":716,"context_line":"        - publish-openstack-python-branch-tarball"},{"line_number":717,"context_line":""},{"line_number":718,"context_line":"- project-template:"},{"line_number":719,"context_line":"    name: openstack-python3-client-library-jobs"},{"line_number":720,"context_line":"    # NOTE(gmann): We are using this generic template for python version"},{"line_number":721,"context_line":"    # testing. When a new development cycle starts, we need to do two things:"},{"line_number":722,"context_line":"    # 1. Update this template for the python version jobs as per the"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"d873a9cd_fddea1af","line":719,"range":{"start_line":719,"start_character":10,"end_line":719,"end_character":47},"in_reply_to":"2d0d35c9_ac86fe81","updated":"2026-06-11 11:11:31.000000000","message":"I\u0027d like to use this for both oslo and SDK deliverables. OSC depends on other clients though (e.g. python-cinderclient) which means I also want testing there.\n\nHow would we be blocked by this? Would we expected any of the deliverables of type `library` or `client-library` to have serious Python version-specific issues? fwiw, this is the current list of those from the `release` repo:\n\n```\n❯ ag \u0027type: (client-library|library)\u0027 deliverables/hibiscus/ -l                                                                                                                                                     \ndeliverables/hibiscus/oslo.utils.yaml                                                                                                                                                                               \ndeliverables/hibiscus/python-blazarclient.yaml                                                                                                                                                                      \ndeliverables/hibiscus/python-masakariclient.yaml                                                                                                                                                                    \ndeliverables/hibiscus/oslo.reports.yaml                                                                                                                                                                             \ndeliverables/hibiscus/cliff.yaml                                                                                                                                                                                    \ndeliverables/hibiscus/oslo.config.yaml                                                                                                                                                                              \ndeliverables/hibiscus/mistral-lib.yaml                                                                                                                                                                              \ndeliverables/hibiscus/python-cyborgclient.yaml\ndeliverables/hibiscus/oslo.log.yaml\ndeliverables/hibiscus/python-observabilityclient.yaml\ndeliverables/hibiscus/oslo.i18n.yaml\ndeliverables/hibiscus/python-troveclient.yaml\ndeliverables/hibiscus/oslo.metrics.yaml\ndeliverables/hibiscus/python-novaclient.yaml\ndeliverables/hibiscus/python-magnumclient.yaml\ndeliverables/hibiscus/oslo.middleware.yaml\ndeliverables/hibiscus/oslo.service.yaml\ndeliverables/hibiscus/oslo.concurrency.yaml\ndeliverables/hibiscus/taskflow.yaml\ndeliverables/hibiscus/oslo.versionedobjects.yaml\ndeliverables/hibiscus/castellan.yaml\ndeliverables/hibiscus/osc-lib.yaml\ndeliverables/hibiscus/python-heatclient.yaml\ndeliverables/hibiscus/python-keystoneclient.yaml\ndeliverables/hibiscus/python-mistralclient.yaml\ndeliverables/hibiscus/keystoneauth.yaml\ndeliverables/hibiscus/ceilometermiddleware.yaml\ndeliverables/hibiscus/oslo.privsep.yaml\ndeliverables/hibiscus/keystonemiddleware.yaml\ndeliverables/hibiscus/python-watcherclient.yaml\ndeliverables/hibiscus/python-cloudkittyclient.yaml\ndeliverables/hibiscus/glance-store.yaml\ndeliverables/hibiscus/python-adjutantclient.yaml\ndeliverables/hibiscus/mistral-extra.yaml\ndeliverables/hibiscus/os-ken.yaml\ndeliverables/hibiscus/oslo.context.yaml\ndeliverables/hibiscus/neutron-lib.yaml\ndeliverables/hibiscus/ovsdbapp.yaml\ndeliverables/hibiscus/python-glanceclient.yaml\ndeliverables/hibiscus/oslo.cache.yaml\ndeliverables/hibiscus/python-openstackclient.yaml\ndeliverables/hibiscus/python-barbicanclient.yaml\ndeliverables/hibiscus/python-swiftclient.yaml\ndeliverables/hibiscus/oslo.messaging.yaml\ndeliverables/hibiscus/sushy.yaml\ndeliverables/hibiscus/python-zunclient.yaml\ndeliverables/hibiscus/oslo.limit.yaml\ndeliverables/hibiscus/python-zaqarclient.yaml\ndeliverables/hibiscus/oslo.policy.yaml\ndeliverables/hibiscus/oslo.serialization.yaml\ndeliverables/hibiscus/heat-translator.yaml\ndeliverables/hibiscus/oslo.db.yaml\ndeliverables/hibiscus/python-freezerclient.yaml\ndeliverables/hibiscus/python-aodhclient.yaml\ndeliverables/hibiscus/python-cinderclient.yaml\ndeliverables/hibiscus/openstacksdk.yaml\ndeliverables/hibiscus/oslo.rootwrap.yaml\ndeliverables/hibiscus/python-tackerclient.yaml\ndeliverables/hibiscus/python-neutronclient.yaml\ndeliverables/hibiscus/stevedore.yaml\ndeliverables/hibiscus/python-octaviaclient.yaml\ndeliverables/hibiscus/os-brick.yaml\ndeliverables/hibiscus/kuryr.yaml\ndeliverables/hibiscus/python-manilaclient.yaml\ndeliverables/hibiscus/tosca-parser.yaml\ndeliverables/hibiscus/python-brick-cinderclient-ext.yaml\ndeliverables/hibiscus/oslo.upgradecheck.yaml\ndeliverables/hibiscus/oslo.vmware.yaml\ndeliverables/hibiscus/python-designateclient.yaml\ndeliverables/hibiscus/octavia-lib.yaml\ndeliverables/hibiscus/python-ironicclient.yaml\ndeliverables/hibiscus/osc-placement.yaml\ndeliverables/hibiscus/os-vif.yaml\n```","commit_id":"cd933276e98bf9ffd0c2b8158f46c3ce2905282d"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"71ed00bd5f0579dcff584703a7d679653cce6482","unresolved":true,"context_lines":[{"line_number":716,"context_line":"        - publish-openstack-python-branch-tarball"},{"line_number":717,"context_line":""},{"line_number":718,"context_line":"- project-template:"},{"line_number":719,"context_line":"    name: openstack-python3-client-library-jobs"},{"line_number":720,"context_line":"    # NOTE(gmann): We are using this generic template for python version"},{"line_number":721,"context_line":"    # testing. When a new development cycle starts, we need to do two things:"},{"line_number":722,"context_line":"    # 1. Update this template for the python version jobs as per the"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"dfe267f3_39c5b03d","line":719,"range":{"start_line":719,"start_character":10,"end_line":719,"end_character":47},"in_reply_to":"5bb93219_946f295b","updated":"2026-06-11 17:06:25.000000000","message":"If projects adopted this template (this is kind of advanced testing of higher Python versions) and they are late to fix it, they always have the option to go back to the general template of minimum required testing. if any project start using this, I think they understand about keeping their code up to date for new versions.","commit_id":"cd933276e98bf9ffd0c2b8158f46c3ce2905282d"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"c42e215b20e28c83c62296b455d61702ea5c0c46","unresolved":false,"context_lines":[{"line_number":716,"context_line":"        - publish-openstack-python-branch-tarball"},{"line_number":717,"context_line":""},{"line_number":718,"context_line":"- project-template:"},{"line_number":719,"context_line":"    name: openstack-python3-client-library-jobs"},{"line_number":720,"context_line":"    # NOTE(gmann): We are using this generic template for python version"},{"line_number":721,"context_line":"    # testing. When a new development cycle starts, we need to do two things:"},{"line_number":722,"context_line":"    # 1. Update this template for the python version jobs as per the"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"ddb54632_afdb19b9","line":719,"range":{"start_line":719,"start_character":10,"end_line":719,"end_character":47},"in_reply_to":"64f6c09d_468e3ac2","updated":"2026-06-22 10:00:14.000000000","message":"Done","commit_id":"cd933276e98bf9ffd0c2b8158f46c3ce2905282d"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"c8f1a873f943abb7c15327f3768b3eb35009a2ec","unresolved":true,"context_lines":[{"line_number":716,"context_line":"        - publish-openstack-python-branch-tarball"},{"line_number":717,"context_line":""},{"line_number":718,"context_line":"- project-template:"},{"line_number":719,"context_line":"    name: openstack-python3-client-library-jobs"},{"line_number":720,"context_line":"    # NOTE(gmann): We are using this generic template for python version"},{"line_number":721,"context_line":"    # testing. When a new development cycle starts, we need to do two things:"},{"line_number":722,"context_line":"    # 1. Update this template for the python version jobs as per the"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"5bb93219_946f295b","line":719,"range":{"start_line":719,"start_character":10,"end_line":719,"end_character":47},"in_reply_to":"74fd8bca_3b78ece3","updated":"2026-06-11 11:46:11.000000000","message":"It may be rare but we had in the past several issues caused by deprecated/removed modules from core python (mostly in their test code).\n\nLet\u0027s see how it works but we likely need the coordinated deadline definition for new voting job, so that we get the same view about how early they should adopt their testing to be compliant with this opt-in strategy.","commit_id":"cd933276e98bf9ffd0c2b8158f46c3ce2905282d"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ec7bb8a33c27e28b68c794767b6d70de6209d32c","unresolved":true,"context_lines":[{"line_number":716,"context_line":"        - publish-openstack-python-branch-tarball"},{"line_number":717,"context_line":""},{"line_number":718,"context_line":"- project-template:"},{"line_number":719,"context_line":"    name: openstack-python3-client-library-jobs"},{"line_number":720,"context_line":"    # NOTE(gmann): We are using this generic template for python version"},{"line_number":721,"context_line":"    # testing. When a new development cycle starts, we need to do two things:"},{"line_number":722,"context_line":"    # 1. Update this template for the python version jobs as per the"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"74fd8bca_3b78ece3","line":719,"range":{"start_line":719,"start_character":10,"end_line":719,"end_character":47},"in_reply_to":"d873a9cd_fddea1af","updated":"2026-06-11 11:22:15.000000000","message":"Also, projects can obviously override the voting status of jobs temporarily (assuming we don\u0027t move forward with the governance changes). But again, I\u0027d be genuinely surprised if this were ever to happen, given the relative simplicity of most clients and libraries vis-à-vis services\n\nhttps://zuul.opendev.org/t/openstack/builds?job_name\u003dopenstack-tox-py314\u0026project\u003dopenstack%2Fpython-*client\u0026skip\u003d0","commit_id":"cd933276e98bf9ffd0c2b8158f46c3ce2905282d"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b0c59125c15bf2502fe58541bc6dc6c207f44fc3","unresolved":true,"context_lines":[{"line_number":716,"context_line":"        - publish-openstack-python-branch-tarball"},{"line_number":717,"context_line":""},{"line_number":718,"context_line":"- project-template:"},{"line_number":719,"context_line":"    name: openstack-python3-client-library-jobs"},{"line_number":720,"context_line":"    # NOTE(gmann): We are using this generic template for python version"},{"line_number":721,"context_line":"    # testing. When a new development cycle starts, we need to do two things:"},{"line_number":722,"context_line":"    # 1. Update this template for the python version jobs as per the"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"64f6c09d_468e3ac2","line":719,"range":{"start_line":719,"start_character":10,"end_line":719,"end_character":47},"in_reply_to":"dfe267f3_39c5b03d","updated":"2026-06-15 11:20:39.000000000","message":"\u003e If projects adopted this template (this is kind of advanced testing of higher Python versions) and they are late to fix it, they always have the option to go back to the general template of minimum required testing. if any project start using this, I think they understand about keeping their code up to date for new versions.\n\nExactly. They can always opt-out again.","commit_id":"cd933276e98bf9ffd0c2b8158f46c3ce2905282d"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"ba345faa22b120bb12547eb025a3bb4ff8d7b5f6","unresolved":false,"context_lines":[{"line_number":738,"context_line":"        - openstack-tox-py311:"},{"line_number":739,"context_line":"            branches:"},{"line_number":740,"context_line":"              - master"},{"line_number":741,"context_line":"        # py3.13 testing is added as mandatory from 2026.1 release onwards."},{"line_number":742,"context_line":"        - openstack-tox-py313:"},{"line_number":743,"context_line":"            branches:"},{"line_number":744,"context_line":"              - master"},{"line_number":745,"context_line":"        # py3.14 testing is added as mandatory from 2026.2 release onwards"},{"line_number":746,"context_line":"        - openstack-tox-py314:"},{"line_number":747,"context_line":"            branches:"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"027a43f7_c01962eb","line":744,"range":{"start_line":741,"start_character":0,"end_line":744,"end_character":22},"updated":"2026-06-11 01:31:32.000000000","message":"++. side note for reviewers: it is usually enough to keep min and max versions job assuming that in-between version will work but this is different case. Projects are tested as mandatory on python 3.13 so keeping it voting for library make sure we do not break them just in case any difference in 3.13 vs 3.14.","commit_id":"cd933276e98bf9ffd0c2b8158f46c3ce2905282d"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"316d9699d35436022f00d7eb1ea2135ac12b2898","unresolved":true,"context_lines":[{"line_number":738,"context_line":"        - openstack-tox-py311:"},{"line_number":739,"context_line":"            branches:"},{"line_number":740,"context_line":"              - master"},{"line_number":741,"context_line":"        # py3.13 testing is added as mandatory from 2026.1 release onwards."},{"line_number":742,"context_line":"        - openstack-tox-py313:"},{"line_number":743,"context_line":"            branches:"},{"line_number":744,"context_line":"              - master"},{"line_number":745,"context_line":"        # py3.14 testing is added as mandatory from 2026.2 release onwards"},{"line_number":746,"context_line":"        - openstack-tox-py314:"},{"line_number":747,"context_line":"            branches:"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"3d61af4a_c58d16fc","line":744,"range":{"start_line":741,"start_character":0,"end_line":744,"end_character":22},"in_reply_to":"027a43f7_c01962eb","updated":"2026-06-11 11:11:31.000000000","message":"Yeah, this was my rationale. I wonder if it\u0027s worth a note?","commit_id":"cd933276e98bf9ffd0c2b8158f46c3ce2905282d"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"aa0127a582ebdcec2a18fd34ffcb8cea666fa234","unresolved":false,"context_lines":[{"line_number":738,"context_line":"        - openstack-tox-py311:"},{"line_number":739,"context_line":"            branches:"},{"line_number":740,"context_line":"              - master"},{"line_number":741,"context_line":"        # py3.13 testing is added as mandatory from 2026.1 release onwards."},{"line_number":742,"context_line":"        - openstack-tox-py313:"},{"line_number":743,"context_line":"            branches:"},{"line_number":744,"context_line":"              - master"},{"line_number":745,"context_line":"        # py3.14 testing is added as mandatory from 2026.2 release onwards"},{"line_number":746,"context_line":"        - openstack-tox-py314:"},{"line_number":747,"context_line":"            branches:"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"cbcfbdef_786306f5","line":744,"range":{"start_line":741,"start_character":0,"end_line":744,"end_character":22},"in_reply_to":"037fae54_75464b96","updated":"2026-06-22 10:09:50.000000000","message":"Done","commit_id":"cd933276e98bf9ffd0c2b8158f46c3ce2905282d"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"71ed00bd5f0579dcff584703a7d679653cce6482","unresolved":true,"context_lines":[{"line_number":738,"context_line":"        - openstack-tox-py311:"},{"line_number":739,"context_line":"            branches:"},{"line_number":740,"context_line":"              - master"},{"line_number":741,"context_line":"        # py3.13 testing is added as mandatory from 2026.1 release onwards."},{"line_number":742,"context_line":"        - openstack-tox-py313:"},{"line_number":743,"context_line":"            branches:"},{"line_number":744,"context_line":"              - master"},{"line_number":745,"context_line":"        # py3.14 testing is added as mandatory from 2026.2 release onwards"},{"line_number":746,"context_line":"        - openstack-tox-py314:"},{"line_number":747,"context_line":"            branches:"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"037fae54_75464b96","line":744,"range":{"start_line":741,"start_character":0,"end_line":744,"end_character":22},"in_reply_to":"3d61af4a_c58d16fc","updated":"2026-06-11 17:06:25.000000000","message":"Yes, please, there is a chance that we might remove it, seeing the generic template pattern.","commit_id":"cd933276e98bf9ffd0c2b8158f46c3ce2905282d"}]}
