[llvm] [GitHub] Add python 3.7 to libclang python test (PR #77219)

Craig Hesling via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 17 00:48:25 PST 2024


https://github.com/linux4life798 updated https://github.com/llvm/llvm-project/pull/77219

>From 5b35d6c6b968bf429e09abbf635a741ed60ec83a Mon Sep 17 00:00:00 2001
From: Craig Hesling <craig at hesling.com>
Date: Sat, 30 Dec 2023 01:17:57 -0500
Subject: [PATCH 1/2] [GitHub] Add python_version input to
 llvm-project-test.yml

This will be used for testing the libclang Python binding
against different versions of Python.

Issue #76664.
Issue #76601.
---
 .github/workflows/llvm-project-tests.yml | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/.github/workflows/llvm-project-tests.yml b/.github/workflows/llvm-project-tests.yml
index fadaea129e5088..a1404e1f1efa95 100644
--- a/.github/workflows/llvm-project-tests.yml
+++ b/.github/workflows/llvm-project-tests.yml
@@ -15,6 +15,10 @@ on:
       os_list:
         required: false
         default: '["ubuntu-latest", "windows-2019", "macOS-11"]'
+      python_version:
+        required: false
+        type: string
+        default: '3.11'
   workflow_call:
     inputs:
       build_target:
@@ -38,6 +42,11 @@ on:
         # https://github.com/actions/virtual-environments/issues/5900
         default: '["ubuntu-latest", "windows-2019", "macOS-11"]'
 
+      python_version:
+        required: false
+        type: string
+        default: '3.11'
+
 concurrency:
   # Skip intermediate builds: always.
   # Cancel intermediate builds: only if it is a pull request build.
@@ -67,7 +76,7 @@ jobs:
       - name: Setup Python
         uses: actions/setup-python at v4
         with:
-          python-version: '3.11'
+          python-version: ${{ inputs.python_version }}
       - name: Install Ninja
         uses: llvm/actions/install-ninja at main
       # actions/checkout deletes any existing files in the new git directory,

>From 59a427ab9ef94b68f7b8ca7f6b62afc6cb8cf47d Mon Sep 17 00:00:00 2001
From: Craig Hesling <craig at hesling.com>
Date: Tue, 2 Jan 2024 19:01:49 -0500
Subject: [PATCH 2/2] [GitHub] Add python 3.7 to libclang python test

This enables the libclang python binding test to check
the oldest version of Python supported in addition
to the normal python version.

It is important to check this for issue #76664, since
many new mainstream python type annotation features
and best practices are not compatible with older
versions of python.

Additionally, frustration around ever increasing
platform dependencies and versions has been raised.
This will help ensure that python maintains reasonable
backwards compatibility.

Adding this additional build step will increase the
run time, but this should always be minimal, since
the additional libclang compilation should see 100%
cache hit rate.

Issue #76664.
Fixes #76601.
---
 .github/workflows/libclang-python-tests.yml | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/.github/workflows/libclang-python-tests.yml b/.github/workflows/libclang-python-tests.yml
index 73edb6cf3bad26..e12acbc0f6ce8c 100644
--- a/.github/workflows/libclang-python-tests.yml
+++ b/.github/workflows/libclang-python-tests.yml
@@ -30,6 +30,10 @@ jobs:
   check-clang-python:
     # Build libclang and then run the libclang Python binding's unit tests.
     name: Build and run Python unit tests
+    strategy:
+      fail-fast: false
+      matrix:
+        python-version: ["3.7", "3.11"]
     uses: ./.github/workflows/llvm-project-tests.yml
     with:
       build_target: check-clang-python
@@ -37,3 +41,4 @@ jobs:
       # There is an issue running on "windows-2019".
       # See https://github.com/llvm/llvm-project/issues/76601#issuecomment-1873049082.
       os_list: '["ubuntu-latest"]'
+      python_version: ${{ matrix.python-version }}



More information about the llvm-commits mailing list