This is needed for #187905. Unless we disable the check, Zizmor will flag uses of `actions/checkout` without an explicit `persist-credentials` setting. Of course, some workflows could rely on the credentials persisted by `actions/checkout`. I asked Claude to check each affected job, and it flagged only `prune-branches.yml`. The script `prune-unused-branches.py` relies on the persisted credentials, so I've left that as `persist-credentials: true` for now.
59 lines
1.8 KiB
YAML
59 lines
1.8 KiB
YAML
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:
|
|
persist-credentials: false
|
|
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
|