-
Notifications
You must be signed in to change notification settings - Fork 13.5k
[clang/python] Add Python libclang unit tests to CI #76601
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
Comments
A basic test to add this can be found in https://github.com/linux4life798/llvm-project/blob/add-python-workflow-checks/.github/workflows/clang-tests.yml#L39. |
It looks like the The following output is from https://github.com/llvm/llvm-project/actions/runs/6703627427/job/18214521420:
|
There is something wrong with the TranslationUnit unittest on Windows.
|
Basic CI testing for the Python binding has been merged in #76784. The next step is to test on the oldest version of Python that we want to support. These changes are being mocked in https://github.com/linux4life798/llvm-project/blob/add-python-workflow-checks/.github/workflows/libclang-python-tests.yml. |
This will be used for testing the libclang Python binding against different versions of Python. Issue llvm#76601.
This has the ability to check multiple python versions for compatibility. Issue llvm#76601.
This will be used for testing the libclang Python binding against different versions of Python. Issue llvm#76601.
This has the ability to check multiple python versions for compatibility. Issue llvm#76601.
This will be used for testing the libclang Python binding against different versions of Python. Issue llvm#76601.
This has the ability to check multiple python versions for compatibility. Issue llvm#76601.
This will be used for testing the libclang Python binding against different versions of Python. Issue llvm#76664. Issue llvm#76601.
This enables the libclang python binding test to check the oldest version of Python supported in addition to the normal python version. It is important to check this for issue llvm#76664, since many new mainstream python type annotation features and best practices are not compatible with older versions of python. Additionally, frustration around ever increasing platform dependencies and versions has been raised. This will help ensure that python maintains reasonable backwards compatibility. Adding this additional build step will increase the run time, but this should always be minimal, since the additional libclang compilation should see 100% cache hit rate. Issue llvm#76664. Fixes llvm#76601.
This will be used for testing the libclang Python binding against different versions of Python. Issue llvm#76664. Issue llvm#76601.
This enables the libclang python binding test to check the oldest version of Python supported in addition to the normal python version. It is important to check this for issue llvm#76664, since many new mainstream python type annotation features and best practices are not compatible with older versions of python. Additionally, frustration around ever increasing platform dependencies and versions has been raised. This will help ensure that python maintains reasonable backwards compatibility. Adding this additional build step will increase the run time, but this should always be minimal, since the additional libclang compilation should see 100% cache hit rate. Issue llvm#76664. Fixes llvm#76601.
This enables the libclang python binding test to check the oldest version of Python supported in addition to the normal python version. It is important to check this for issue #76664, since many new mainstream python type annotation features and best practices are not compatible with older versions of python. Additionally, frustration around ever increasing platform dependencies and versions has been raised. This will help ensure that python maintains reasonable backwards compatibility. Adding this additional build step will increase the run time, but this should always be minimal, since the additional libclang compilation should see 100% cache hit rate. Issue #76664. Fixes #76601.
) This is important to aid development of Python type annotations in the libclang binding. See llvm#76664 for more details. * Run on all pull requests and direct pushes. * This makes use of the existing llvm-project-tests.yml recipe, which will preload ccache from previous runs. * Building libclang currently takes about 9mins when ccache is warm and about an 1hr 20mins if it is cold using the standard GitHub ubuntu runner. * In the future, this could be broken into the following discrete steps for clarity: 1. Build libclang dependency. ninja -C build libclang 2. Run Python unit tests. ninja -C build check-clang-python * Followup changes will bring testing on older python versions and static type checking. Issue llvm#76601.
Fixes PR llvm#77219. Issue llvm#76664. Issue llvm#76601.
It doesn't look like any GitHub workflows ever run the libclang Python binding unittests (target
check-clang-python
).This should be added to the clang CI to promote ease of development.
The text was updated successfully, but these errors were encountered: