Skip to content

Add support for Python 3.12#1881

Merged
abderrahim merged 4 commits into
apache:masterfrom
nanonyme:nanonyme/python_312
Dec 5, 2023
Merged

Add support for Python 3.12#1881
abderrahim merged 4 commits into
apache:masterfrom
nanonyme:nanonyme/python_312

Conversation

@nanonyme

@nanonyme nanonyme commented Dec 1, 2023

Copy link
Copy Markdown
Contributor

Continuation of #1872

@nanonyme nanonyme force-pushed the nanonyme/python_312 branch 2 times, most recently from 0e5343d to 1df3b17 Compare December 1, 2023 21:43
@nanonyme nanonyme marked this pull request as ready for review December 1, 2023 21:46
Comment thread .github/common.env Outdated
@nanonyme nanonyme force-pushed the nanonyme/python_312 branch from 1df3b17 to 2402d88 Compare December 2, 2023 15:51
@abderrahim

Copy link
Copy Markdown
Contributor

So I tried to run the tests locally, and it seems we can't easily get 3.7 and 3.12 at the same time. 3.12 doesn't work with the current dependencies and trying to update them seems to break 3.7.

@juergbi

juergbi commented Dec 2, 2023

Copy link
Copy Markdown
Contributor

So I tried to run the tests locally, and it seems we can't easily get 3.7 and 3.12 at the same time. 3.12 doesn't work with the current dependencies and trying to update them seems to break 3.7.

I suppose that's not surprising given that Python 3.7 reached end of life 5 months ago. I think it's time to drop Python 3.7 support in BuildStream master as well.

@nanonyme

nanonyme commented Dec 2, 2023

Copy link
Copy Markdown
Contributor Author

@juergbi who needs to be present for that decision?

@nanonyme

nanonyme commented Dec 2, 2023

Copy link
Copy Markdown
Contributor Author

@abderrahim both pyroaring and ruamel.yaml.clib claim to support Python 3.7 with the new versions that support Python 3.12. Was the problematic dependency grpcio?

@nanonyme

nanonyme commented Dec 2, 2023

Copy link
Copy Markdown
Contributor Author

@juergbi can I have another pipeline? It would be useful to be able to run pipelines without approval every time.

@nanonyme

nanonyme commented Dec 2, 2023

Copy link
Copy Markdown
Contributor Author

Looks like grpcio 1.59.0 or newer is required for Python 3.12 support. These should support Python 3.12.

@nanonyme nanonyme force-pushed the nanonyme/python_312 branch 2 times, most recently from a5f5d85 to 9e147c4 Compare December 2, 2023 16:48
@nanonyme

nanonyme commented Dec 2, 2023

Copy link
Copy Markdown
Contributor Author

I am seeing if I can surgically create dependencies that work on all Python versions. It would be better to drop Python 3.7 support in a separate PR if possible.

@nanonyme

nanonyme commented Dec 2, 2023

Copy link
Copy Markdown
Contributor Author

@juergbi there's some random errors with buildbox-casd. It's problematic that tests do not propagate buildbox-casd logs when they fail.

@abderrahim

Copy link
Copy Markdown
Contributor

@juergbi there's some random errors with buildbox-casd. It's problematic that tests do not propagate buildbox-casd logs when they fail.

If this is the buildgrid service-tests, you can see that buildgrid is crashing because it's failing to import redis

@nanonyme

nanonyme commented Dec 2, 2023

Copy link
Copy Markdown
Contributor Author

@abderrahim no, I mean Debian 10, Fedora 37 and Fedora 38. There's comments about buildbox-casd not starting as expected. And we're also seeing the pesky hardlink failures.

    [00:00:00] FAILURE [4a47c98a] build-shell/buildtree.bst: Failed to link '/home/testuser/buildstream/.tox/py311/tmp/test_shell_pull_cached_buildtr2/cache/artifacts/refs/test/build-shell-buildtree/4a47c98a10df39e65e99d471f96edc5b58d4ea5b9b1f221d0be832a8124b8099 -> /home/testuser/buildstream/.tox/py311/tmp/test_shell_pull_cached_buildtr2/cache/artifacts/refs/test/build-shell-buildtree/38b730aec720dbddba843c9e3ce1ad8073e39d16cc4d25f752bc89d867fbaec1': [Errno 17] File exists: '/home/testuser/buildstream/.tox/py311/tmp/test_shell_pull_cached_buildtr2/cache/artifacts/refs/test/build-shell-buildtree/4a47c98a10df39e65e99d471f96edc5b58d4ea5b9b1f221d0be832a8124b8099' -> '/home/testuser/buildstream/.tox/py311/tmp/test_shell_pull_cached_buildtr2/cache/artifacts/refs/test/build-shell-buildtree/38b730aec720dbddba843c9e3ce1ad8073e39d16cc4d25f752bc89d867fbaec1'

@nanonyme

nanonyme commented Dec 2, 2023

Copy link
Copy Markdown
Contributor Author

Beyond these it seems tests now pass.

@nanonyme

nanonyme commented Dec 3, 2023

Copy link
Copy Markdown
Contributor Author

Can I have another pipeline? I pushed commit that may stabilize tests.

Comment thread src/buildstream/utils.py Outdated
@nanonyme

nanonyme commented Dec 3, 2023

Copy link
Copy Markdown
Contributor Author

The commit did not help.
tests/integration/shellbuildtrees.py::test_shell_pull_cached_buildtree[pull-without-buildtree] FAILED [ 72%] this is still esoterically failing due to file existing that should not.

@nanonyme

nanonyme commented Dec 3, 2023

Copy link
Copy Markdown
Contributor Author

It looks like it's always the same test that fails.

@abderrahim

Copy link
Copy Markdown
Contributor

It looks like it's always the same test that fails.

Yeah. It looks like some race condition or something. We need to figure out where it is coming from :/

@abderrahim

Copy link
Copy Markdown
Contributor

It looks like it's always the same test that fails.

Yeah. It looks like some race condition or something. We need to figure out where it is coming from :/

Indeed it is. For some reason, bst is launching 2 jobs at once to pull the same element.

@abderrahim

Copy link
Copy Markdown
Contributor

@nanonyme #1882 fixes the "pesky hardlink failure", can you please rebase now that it's merged.

jjardon and others added 4 commits December 5, 2023 18:00
Following the steps documented here:
doc/source/hacking/updating_python_deps.rst
* grpcio 1.59.3
* ruamel.yaml.clib 0.2.8
* pyroaring 0.4.4
* pyftpdlib 1.5.9
@nanonyme nanonyme force-pushed the nanonyme/python_312 branch from 4707d8b to 44c569d Compare December 5, 2023 16:01
@nanonyme

nanonyme commented Dec 5, 2023

Copy link
Copy Markdown
Contributor Author

@abderrahim pushed, removed the last commit that was irrelevant.

@nanonyme

nanonyme commented Dec 5, 2023

Copy link
Copy Markdown
Contributor Author

Only buildgrid test is now failing.

@abderrahim

Copy link
Copy Markdown
Contributor

Yup, and I believe it's the buildgrid image that's broken (and our tests broke because we're using the nightly image of buildgrid rather than a fixed version)

@abderrahim abderrahim merged commit 2717425 into apache:master Dec 5, 2023
@nanonyme nanonyme deleted the nanonyme/python_312 branch December 5, 2023 16:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants