[llvm] [GitHub] Add basic CI for libclang Python binding unit tests (PR #76784)

Craig Hesling via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 3 17:51:39 PST 2024


================
@@ -0,0 +1,41 @@
+name: Libclang Python Binding Tests
+
+permissions:
+  contents: read
+
+on:
+  workflow_dispatch:
+  push:
+    paths:
+      - 'clang/bindings/python/**'
+      - 'clang/tools/libclang/**'
+      - 'clang/CMakeList.txt'
+      - 'cmake/**'
+      - '.github/workflows/libclang-python-tests.yml'
+      - '.github/workflows/llvm-project-tests.yml'
+  pull_request:
+    paths:
+      - 'clang/bindings/python/**'
+      - 'clang/tools/libclang/**'
+      - 'clang/CMakeList.txt'
+      - 'cmake/**'
+      - '.github/workflows/libclang-python-tests.yml'
+      - '.github/workflows/llvm-project-tests.yml'
+
+concurrency:
+  # Skip intermediate builds: always.
+  # Cancel intermediate builds: only if it is a pull request build.
+  group: ${{ github.workflow }}-${{ github.ref }}
+  cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
+
+jobs:
+  check-clang-python:
+    # Build libclang and then run the libclang Python binding's unit tests.
+    name: Build and run Python unit tests
+    uses: ./.github/workflows/llvm-project-tests.yml
+    with:
+      build_target: check-clang-python
+      projects: clang
+      # There is an issue running on "windows-2019".
+      # See https://github.com/llvm/llvm-project/issues/76601#issuecomment-1873049082.
+      os_list: '["ubuntu-latest", "macOS-11"]'
----------------
linux4life798 wrote:

Hmm, that's unfortunate. I would say that the primary advantage to having this CI is that it can test across a matrix of platforms and python versions that aren't available to me or others. I have already identified a few cases where this Python binding would operate in slightly different ways based on both the dimensions listed above (the windows error is certainly one of them).

---

Anyways. I'll take what I can get. I would really like to be testing on an older version of python (probably 3.7) and the newer version of python. This was going to be the next change. Would we have enough capacity to change this to two runs (two python versions) of ubuntu only?

https://github.com/llvm/llvm-project/pull/76784


More information about the llvm-commits mailing list