-
-
Notifications
You must be signed in to change notification settings - Fork 49
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enabled android-ndk to work with Python 3.12+ #809
base: main
Are you sure you want to change the base?
Conversation
2c96505
to
e81d9c4
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- The CI should stable, with pinned dependecies, so what has changed in our code base that has introduce this regression?
- Why this regression has not been caught in the CI?
- CI is not passing, I can hardly merge this PR
e81d9c4
to
5684372
Compare
This is not (yet) a regression. As we used pinned dependencies, we are still running on ubuntu 2022 and so with a python < 3.12 So CI has not detected this. This is a issue with recent distributions (now on dev devices, later on CI on next update) |
@mgautierfr This was working and this is not anymore, so this is a regression. What exacty has changed and who has introduced this change making rhat the CI brakes? Does the CD has other dependencies than the CI? What has changed in the CD to lead us where we are? |
Android part CI/CD is working : https://github.com/kiwix/kiwix-build/actions/runs/13778363920/job/38531945492 Other failing jobs are not about this (and I don't know why they are broken because you ask me to not take care)
Nothing has changed and this is why android CI/CD is not broken. It will be when we will change the CI/CD to next version of Python. The CI of this PR is broken because of the content of the PR, probably the path wrongly formatted |
d45f83f
to
8d6831f
Compare
distutils was dropped from Python 3.12. Fortunately, our usage of android-ndk only relied on distutils.dir_util.copy_tree() in build/tools/make_standalone_toolchain.py which is easy to replace with shutil.copytree(). That is done via a small patch. Note that there are more references to distutils in the following files but it looks like our CI/CD flows aren't affected by those: sources/third_party/shaderc/third_party/spirv-tools/utils/generate_registry_tables.py sources/third_party/vulkan/src/scripts/update_deps.py prebuilt/linux-x86_64/bin/python2.7-config prebuilt/linux-x86_64/bin/python-config prebuilt/linux-x86_64/bin/python2-config various files under prebuilt/linux-x86_64/lib/python2.7/ python-packages/fastboot/setup.py python-packages/adb/setup.py
8d6831f
to
c16951f
Compare
No, CI failed because base_deps had to be regenerated. Now it fails for a different reason (looks like |
Remaining failures are unrelated to this PR:
|
Should fix #808
distutils
was dropped from Python 3.12. Fortunately, our usage ofandroid-ndk
only relied ondistutils.dir_util.copy_tree()
inbuild/tools/make_standalone_toolchain.py
whichis easy to replace with
shutil.copytree()
. That is done via a small patch.Note that there are more references to
distutils
in the following files but it looks like our CI/CD flows aren't affected by those:sources/third_party/shaderc/third_party/spirv-tools/utils/generate_registry_tables.py
sources/third_party/vulkan/src/scripts/update_deps.py
prebuilt/linux-x86_64/bin/python2.7-config
prebuilt/linux-x86_64/bin/python-config
prebuilt/linux-x86_64/bin/python2-config
prebuilt/linux-x86_64/lib/python2.7/
python-packages/fastboot/setup.py
python-packages/adb/setup.py