| name: Libclang Python Binding Tests |
| |
| permissions: |
| contents: read |
| |
| on: |
| push: |
| branches: |
| - 'main' |
| paths: |
| - 'clang/bindings/python/**' |
| - 'clang/tools/libclang/**' |
| - 'clang/CMakeList.txt' |
| - '.github/workflows/libclang-python-tests.yml' |
| pull_request: |
| paths: |
| - 'clang/bindings/python/**' |
| - 'clang/tools/libclang/**' |
| - 'clang/CMakeList.txt' |
| - '.github/workflows/libclang-python-tests.yml' |
| |
| jobs: |
| check-clang-python: |
| # Build libclang and then run the libclang Python binding's unit tests. |
| # There is an issue running on "windows-2019". |
| # See https://github.com/llvm/llvm-project/issues/76601#issuecomment-1873049082. |
| name: Build and run Python unit tests |
| if: github.repository == 'llvm/llvm-project' |
| runs-on: ubuntu-24.04 |
| strategy: |
| fail-fast: false |
| matrix: |
| python-version: ["3.8", "3.13"] |
| steps: |
| - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 |
| - name: Setup Python |
| uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0 |
| with: |
| python-version: ${{ matrix.python-version }} |
| - name: Setup ccache |
| uses: hendrikmuhs/ccache-action@5ebbd400eff9e74630f759d94ddd7b6c26299639 # v1.2.20 |
| with: |
| max-size: 2G |
| key: spirv-ubuntu-24.04 |
| variant: sccache |
| - name: Build and Test |
| run: | |
| mkdir build |
| cmake -GNinja \ |
| -S llvm \ |
| -B build \ |
| -DCMAKE_BUILD_TYPE=Release \ |
| -DLLVM_ENABLE_ASSERTIONS=ON \ |
| -DCMAKE_C_COMPILER_LAUNCHER=sccache \ |
| -DCMAKE_CXX_COMPILER_LAUNCHER=sccache \ |
| -DLLVM_ENABLE_PROJECTS=clang |
| ninja -C build check-clang-python |