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