Update: the gate blockage has been fixed by https://review.opendev.org/c/openstack/nova/+/927471 and it is safe to recheck now. On 8/28/24 20:03, melanie witt wrote:
On 8/28/24 18:44, melanie witt wrote:
Hey all,
Just a heads up...
The last several openstack-tox-docs job runs on the master branch have failed, both gate and check queues:
because of AFAICT the following warning which is treated as an error:
2024-08-28 19:24:04.604443 | ubuntu-jammy | /home/zuul/src/opendev.org/openstack/nova/.tox/docs/lib/python3.10/site-packages/openstackdocstheme/page_context.py:70: RemovedInSphinx90Warning: Sphinx 9 will drop support for representing paths as strings. Use "pathlib.Path" or "os.fspath" instead. 2024-08-28 19:24:04.649996 | ubuntu-jammy | src_file = full_src_file[len(str(app.builder.env.srcdir)):].lstrip('/')
The error looks like it's coming from Sphinx and I did find an upper-constraints bump of Sphinx happened earlier today:
https://review.opendev.org/c/openstack/requirements/+/927358
The version was bumped from 7.4.6 to 8.0.2 -- which may possibly be related to the failures.
I will look more into the failure but if anyone else knows how to fix this, please feel free to propose something.
OK, it turns out the RemovedInSphinx90Warning is not the cause of the job failure but rather this error:
WARNING: Aborted attempted copy from /home/zuul/src/opendev.org/openstack/nova/.tox/docs/lib/python3.10/site-packages/sphinx_feature_classification/support-matrix.css to /home/zuul/src/opendev.org/openstack/nova/doc/build/html/_static/support-matrix.css (the destination path has existing data). [misc.copy_overwrite] 2024-08-28 19:24:04.840629 | ubuntu-jammy | build finished with problems, 1 warning.
I found that starting in Sphinx 8.0.0, it will no longer allow overwriting user-supplied data by default:
https://github.com/sphinx-doc/sphinx/pull/12647
and will treat attempts as an error. There is a new 'force' keyword arg which can be used to override this.
The error is emanating from the sphinx_feature_classification.support_matrix extension, so based on my local testing it must be fixed there. I have proposed a patch (which will need either a requirement for Sphinx>=8.0.0 or some other way to make sure force=True is only passed for Sphinx>=8.0.0):
https://review.opendev.org/c/openstack/sphinx-feature-classification/+/92744...
Because the problem is in this extension, fixing the CI this way would require a patch like this to be merged and a new release of sphinx-feature-classification.
Given that feature freeze is today/tomorrow, I'm not sure this is the route we'll want to take vs rolling back the upper-constraints bump of Sphinx.
-melwitt