| 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@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.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 |