)]}'
{".zuul.yaml":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"95a04bc1289ac18cd869dd88d8c079bd5909b659","unresolved":true,"context_lines":[{"line_number":110,"context_line":"    check-arm64:"},{"line_number":111,"context_line":"      jobs:"},{"line_number":112,"context_line":"        - libec-pyeclib-unit-arm64"},{"line_number":113,"context_line":"        - pyeclib-build-wheels-arm64"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"5b234060_026e7417","side":"PARENT","line":113,"updated":"2024-08-31 02:11:45.000000000","message":"We might want to fix the pipeline placement in the parent change.\n\nEven more broadly, though, we might consider folding the arm64 unit test job into the check/gate pipelines.","commit_id":"da1797814f9139cd428b388041ee33c0b6555bdc"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"3795dc6aea4b5ac55ceab5cdf66807f1073addae","unresolved":false,"context_lines":[{"line_number":110,"context_line":"    check-arm64:"},{"line_number":111,"context_line":"      jobs:"},{"line_number":112,"context_line":"        - libec-pyeclib-unit-arm64"},{"line_number":113,"context_line":"        - pyeclib-build-wheels-arm64"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"df8dd29f_447b6641","side":"PARENT","line":113,"in_reply_to":"5b234060_026e7417","updated":"2024-09-03 19:41:48.000000000","message":"Done","commit_id":"da1797814f9139cd428b388041ee33c0b6555bdc"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"95a04bc1289ac18cd869dd88d8c079bd5909b659","unresolved":true,"context_lines":[{"line_number":33,"context_line":"        - pyeclib-build-wheels"},{"line_number":34,"context_line":"        - pyeclib-build-wheels-arm64"},{"line_number":35,"context_line":"        - test-release-openstack: *release_overrides"},{"line_number":36,"context_line":"        - openstack-tox-py35:"},{"line_number":37,"context_line":"            vars:"},{"line_number":38,"context_line":"              tox_envlist: py35-compilelibs"},{"line_number":39,"context_line":"              tox_environment:"},{"line_number":40,"context_line":"                LIBERASURECODE_REF: \u00271.4.0\u0027"},{"line_number":41,"context_line":"        - openstack-tox-py36"},{"line_number":42,"context_line":"        - openstack-tox-py37"},{"line_number":43,"context_line":"        - openstack-tox-py38"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"2c4698df_72464ea6","line":40,"range":{"start_line":36,"start_character":8,"end_line":40,"end_character":43},"updated":"2024-08-31 02:11:45.000000000","message":"Off-topic: We could DRY this out in a similar way.","commit_id":"502209e44f24f7100dfe3ecbf1fba75d677fd8f7"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"3795dc6aea4b5ac55ceab5cdf66807f1073addae","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        - pyeclib-build-wheels"},{"line_number":34,"context_line":"        - pyeclib-build-wheels-arm64"},{"line_number":35,"context_line":"        - test-release-openstack: *release_overrides"},{"line_number":36,"context_line":"        - openstack-tox-py35:"},{"line_number":37,"context_line":"            vars:"},{"line_number":38,"context_line":"              tox_envlist: py35-compilelibs"},{"line_number":39,"context_line":"              tox_environment:"},{"line_number":40,"context_line":"                LIBERASURECODE_REF: \u00271.4.0\u0027"},{"line_number":41,"context_line":"        - openstack-tox-py36"},{"line_number":42,"context_line":"        - openstack-tox-py37"},{"line_number":43,"context_line":"        - openstack-tox-py38"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"9e2a6f44_b08810a4","line":40,"range":{"start_line":36,"start_character":8,"end_line":40,"end_character":43},"in_reply_to":"2c4698df_72464ea6","updated":"2024-09-03 19:41:48.000000000","message":"Done in https://review.opendev.org/c/openstack/pyeclib/+/927867","commit_id":"502209e44f24f7100dfe3ecbf1fba75d677fd8f7"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"95a04bc1289ac18cd869dd88d8c079bd5909b659","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"c654d730_8e264ccf","updated":"2024-08-31 02:11:45.000000000","message":"recheck\n\nOhhhh yeah, that\u0027s the stuff\n```\n2024-08-31 00:51:06.696359 | TASK [Run twine check on python dist tarball]\n2024-08-31 00:51:07.306344 | ubuntu-focal | /usr/lib/python3/dist-packages/requests/__init__.py:89: RequestsDependencyWarning: urllib3 (2.2.2) or chardet (3.0.4) doesn\u0027t match a supported version!\n2024-08-31 00:51:07.379287 | ubuntu-focal |   warnings.warn(\"urllib3 ({}) or chardet ({}) doesn\u0027t match a supported \"\n2024-08-31 00:51:07.379396 | ubuntu-focal | Checking\n2024-08-31 00:51:07.456561 | ubuntu-focal | dist/pyeclib-1.6.1-cp35-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_\n2024-08-31 00:51:07.456652 | ubuntu-focal | 12_x86_64.manylinux2010_x86_64.whl: \u001b[32mPASSED\u001b[0m\n2024-08-31 00:51:07.457010 | ubuntu-focal | Checking\n2024-08-31 00:51:07.491961 | ubuntu-focal | dist/pyeclib-1.6.1-cp27-cp27m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2\n2024-08-31 00:51:07.492045 | ubuntu-focal | _12_x86_64.manylinux2010_x86_64.whl: \u001b[32mPASSED\u001b[0m\n2024-08-31 00:51:07.492372 | ubuntu-focal | Checking\n2024-08-31 00:51:07.530036 | ubuntu-focal | dist/pyeclib-1.6.1-cp27-cp27mu-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_\n2024-08-31 00:51:07.530126 | ubuntu-focal | 2_12_x86_64.manylinux2010_x86_64.whl: \u001b[32mPASSED\u001b[0m\n2024-08-31 00:51:07.530421 | ubuntu-focal | Checking\n2024-08-31 00:51:07.564114 | ubuntu-focal | dist/pyeclib-1.6.1-cp35-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl: \u001b[32mPASSED\u001b[0m\n2024-08-31 00:51:07.725563 | ubuntu-focal | Checking dist/pyeclib-1.6.1.tar.gz: \u001b[32mPASSED\u001b[0m\n```","commit_id":"14229998ef07ace7328bbb87fc353aa93ecdba42"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"d6d481e5089b0442f06d9ecac3031802d56ca508","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"27c141a1_a9e0c71b","updated":"2024-09-25 17:59:18.000000000","message":"recheck\n\nSome transient centos-9-stream repo error.","commit_id":"92efac17d058a0f9a9853b1300a7e8540e312fa9"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"680d46e75ba345310c7da1ed0011ecb37f90e829","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"78326e37_ada1e7d4","updated":"2024-10-21 22:25:42.000000000","message":"I\u0027ll get an RC up some time this week to really exercise this. 🎉","commit_id":"8967b70b85193e605603aa83a44b22b83e98852a"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"6bd6aeaf3ecdbf8d049e3a573c10d4db2e561db0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"f1052a31_7299343c","updated":"2024-10-10 21:53:27.000000000","message":"https://zuul.opendev.org/t/openstack/build/7f344c6c9cb24ae59ba28868074891f6/console#3/0/6/ubuntu-focal \u003c- `twine check` is picking up 4 wheels and a sdist!","commit_id":"8967b70b85193e605603aa83a44b22b83e98852a"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"f7390f4f73c8ce5e260465083cd3cb878f250b4e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"7aa3e3dc_a98896e8","updated":"2024-10-10 19:11:04.000000000","message":"recheck\n\nBeen a couple hours, still don\u0027t see the last recheck anywhere in the queues.","commit_id":"8967b70b85193e605603aa83a44b22b83e98852a"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"e734f523ea55d8f247fddeb7feba63b284e3c3d9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"28c53771_70380957","updated":"2024-10-10 17:07:43.000000000","message":"recheck\n\nI should really do something to diagnose the failure -- it\u0027s not the first time I\u0027ve seen `test_get_metadata_memory_usage` pop, but it always seems to pass on retry.","commit_id":"8967b70b85193e605603aa83a44b22b83e98852a"},{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"f18d73f3d5ff4b044216f393e66c24e2fb8feaf3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"b7440728_65855d99","updated":"2024-10-10 03:35:58.000000000","message":"where does this publish to? I only see it putting them in some dist folder or something","commit_id":"8967b70b85193e605603aa83a44b22b83e98852a"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"e734f523ea55d8f247fddeb7feba63b284e3c3d9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"ab29c95d_93b3aaa4","in_reply_to":"b7440728_65855d99","updated":"2024-10-10 17:07:43.000000000","message":"So here\u0027s where the fun comes in. I\u0027m not adding any new jobs, I\u0027m just extending the *existing* python-release jobs. These get pulled in by the [`publish-to-pypi` template](https://opendev.org/openstack/openstack-zuul-jobs/src/commit/60acea0da6d2091d6a9814db61d9d9fe6b5754e7/zuul.d/project-templates.yaml#L129-L157) that [that\u0027s included over in project-config](https://opendev.org/openstack/project-config/src/commit/a91444b75702152927610d361e0a2e168a90e128/zuul.d/projects.yaml#L3806-L3810).\n\n(So, I can hear you asking, if the template\u0027s included over in project-config, why do we include so many jobs here? A while back when we were trying to update all the places with the IRC server change, [the pyeclib change](https://review.opendev.org/c/openstack/pyeclib/+/793985) hit some gate failures because the `test-openstack-release` job couldn\u0027t build wheels. At first I tried to add an option to [add bindep to the release job](https://review.opendev.org/c/openstack/project-config/+/794351), but it was pointed out that it wouldn\u0027t be useful anyway, since PyPI would reject the wheel. So instead I [added an option to skip wheel building](https://review.opendev.org/c/zuul/zuul-jobs/+/795419) and [we had to include a bunch of overrides](https://review.opendev.org/c/openstack/pyeclib/+/795420). IIRC all this was what really pushed me to start looking into manylinux builds.)\n\nOK, so -- no new jobs, extending existing jobs -- what do those existing jobs *do*? We\u0027re interested in [`test-release-openstack` and `release-openstack-python`](https://opendev.org/openstack/project-config/src/branch/master/zuul.d/jobs.yaml#L33-L63) -- but whether we\u0027re running [`check.yaml`](https://opendev.org/openstack/project-config/src/branch/master/playbooks/pti-python-tarball/check.yaml) or [`run.yaml`](https://opendev.org/openstack/project-config/src/branch/master/playbooks/pti-python-tarball/run.yaml), either way it includes the [`build-python-release` role](https://opendev.org/zuul/zuul-jobs/src/branch/master/roles/build-python-release/tasks/main.yaml) which *we* just use to build a tarball but most other projects (including Swift) have it also build a wheel. After that, it works off the contents of that `dist` folder -- either it runs `twine check dist/*` for `test-release-openstack` or (as post-run steps) it [discovers and signs all tarballs and wheels](https://opendev.org/openstack/project-config/src/branch/master/playbooks/pti-python-tarball/post.yaml) then [uploads them to PyPI](https://opendev.org/zuul/zuul-jobs/src/branch/master/roles/upload-pypi/tasks/main.yaml) for `release-openstack-python`.\n\nSo, by slipping in **before** the job *wants* to be building wheels, we can just drop in the pre-built wheels and let it behave as though it built them itself. I\u0027m definitely thinking about doing a release-candidate for next release, though, just to validate all the machinery.","commit_id":"8967b70b85193e605603aa83a44b22b83e98852a"}],"README.rst":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"95a04bc1289ac18cd869dd88d8c079bd5909b659","unresolved":false,"context_lines":[{"line_number":2,"context_line":"-------"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"This library provides a simple Python interface for implementing erasure codes"},{"line_number":5,"context_line":"and is known to work with Python 2.7 and 3.5 through 3.12. To obtain the best"},{"line_number":6,"context_line":"possible performance, the library utilizes liberasurecode, which is a C based"},{"line_number":7,"context_line":"erasure code library."},{"line_number":8,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"4f5153bf_b8389e95","line":5,"updated":"2024-08-31 02:11:45.000000000","message":"More accurate, plus it trips the `test-release-openstack` job :-)","commit_id":"14229998ef07ace7328bbb87fc353aa93ecdba42"}]}
