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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - name: Setup Python uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 with: python-version: ${{ matrix.python-version }} - name: Setup ccache uses: hendrikmuhs/ccache-action@bfa03e1de4d7f7c3e80ad9109feedd05c4f5a716 # v1.2.19 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