From 3c1945ea211954a2c5963ffdc9f18959ea369577 Mon Sep 17 00:00:00 2001 From: Wenju He Date: Sat, 22 Nov 2025 23:34:32 -0800 Subject: [PATCH 1/3] [CI] Fix ref_llvm and ref_translator in on-push-verification-in-tree task --- .../workflows/on-push-verification-in-tree.yml | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/.github/workflows/on-push-verification-in-tree.yml b/.github/workflows/on-push-verification-in-tree.yml index b23e42c6..7fc7c203 100644 --- a/.github/workflows/on-push-verification-in-tree.yml +++ b/.github/workflows/on-push-verification-in-tree.yml @@ -35,9 +35,23 @@ jobs: - name: Checkout opencl-clang sources for action files uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 + # This step will fail when the branch naming scheme 'ocl-open-XXX' changes! + - name: Parse LLVM version from branch name + id: check-llvm-version + run: | + BRANCH="${{ github.base_ref }}" # on: pull_request, otherwise null + BRANCH=${BRANCH:-${{ github.ref_name }}} # on: push + LLVM_VERSION_LONG=$(echo $BRANCH | grep -oP 'ocl-open-\K\d+') # Eg. 190 for LLVM 19 + if [ -z "$LLVM_VERSION_LONG" ]; then + echo "[OPENCL-CLANG] Error: Could not parse LLVM version from branch name '$BRANCH'" + exit 1 + fi + LLVM_VERSION_SHORT=${LLVM_VERSION_LONG::-1} # Eg. 19 for LLVM 19 + echo "llvm_version=$LLVM_VERSION_SHORT" >> $GITHUB_OUTPUT + - name: Run build-opencl-clang action uses: ./.github/actions/build-opencl-clang with: - ref_llvm: main - ref_translator: main + ref_llvm: release/${{ steps.check-llvm-version.outputs.llvm_version }}.x + ref_translator: llvm_release_${{ steps.check-llvm-version.outputs.llvm_version }}0 ref_opencl-clang: ${{ github.ref }} From 79f6fc8e7e79217d8ea830d24b7e9e87ce33fff4 Mon Sep 17 00:00:00 2001 From: Wenju He Date: Sat, 22 Nov 2025 23:57:29 -0800 Subject: [PATCH 2/3] 19 -> 20 --- .github/workflows/on-push-verification-in-tree.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/on-push-verification-in-tree.yml b/.github/workflows/on-push-verification-in-tree.yml index 7fc7c203..b3b0882b 100644 --- a/.github/workflows/on-push-verification-in-tree.yml +++ b/.github/workflows/on-push-verification-in-tree.yml @@ -41,12 +41,12 @@ jobs: run: | BRANCH="${{ github.base_ref }}" # on: pull_request, otherwise null BRANCH=${BRANCH:-${{ github.ref_name }}} # on: push - LLVM_VERSION_LONG=$(echo $BRANCH | grep -oP 'ocl-open-\K\d+') # Eg. 190 for LLVM 19 + LLVM_VERSION_LONG=$(echo $BRANCH | grep -oP 'ocl-open-\K\d+') # Eg. 200 for LLVM 20 if [ -z "$LLVM_VERSION_LONG" ]; then echo "[OPENCL-CLANG] Error: Could not parse LLVM version from branch name '$BRANCH'" exit 1 fi - LLVM_VERSION_SHORT=${LLVM_VERSION_LONG::-1} # Eg. 19 for LLVM 19 + LLVM_VERSION_SHORT=${LLVM_VERSION_LONG::-1} # Eg. 20 for LLVM 20 echo "llvm_version=$LLVM_VERSION_SHORT" >> $GITHUB_OUTPUT - name: Run build-opencl-clang action From a37bfb77c8a056e365ce4694b5dc2c782e30b4ad Mon Sep 17 00:00:00 2001 From: Wenju He Date: Sun, 23 Nov 2025 00:13:37 -0800 Subject: [PATCH 3/3] Apply suggestion from @Copilot --- .github/workflows/on-push-verification-in-tree.yml | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/.github/workflows/on-push-verification-in-tree.yml b/.github/workflows/on-push-verification-in-tree.yml index b3b0882b..8b3823a4 100644 --- a/.github/workflows/on-push-verification-in-tree.yml +++ b/.github/workflows/on-push-verification-in-tree.yml @@ -41,12 +41,19 @@ jobs: run: | BRANCH="${{ github.base_ref }}" # on: pull_request, otherwise null BRANCH=${BRANCH:-${{ github.ref_name }}} # on: push - LLVM_VERSION_LONG=$(echo $BRANCH | grep -oP 'ocl-open-\K\d+') # Eg. 200 for LLVM 20 - if [ -z "$LLVM_VERSION_LONG" ]; then + # Extract the padded LLVM version (e.g., 200 for LLVM 20) + LLVM_VERSION_PADDED=$(echo "$BRANCH" | sed -n 's/^ocl-open-\([0-9]\+\)$/\1/p') + if [ -z "$LLVM_VERSION_PADDED" ]; then echo "[OPENCL-CLANG] Error: Could not parse LLVM version from branch name '$BRANCH'" exit 1 fi - LLVM_VERSION_SHORT=${LLVM_VERSION_LONG::-1} # Eg. 20 for LLVM 20 + # Extract the actual LLVM version (e.g., 20 from 200) + if [[ "$LLVM_VERSION_PADDED" =~ ^([0-9]+)0$ ]]; then + LLVM_VERSION_SHORT="${BASH_REMATCH[1]}" + else + echo "[OPENCL-CLANG] Error: Unexpected LLVM version format '$LLVM_VERSION_PADDED' from branch name '$BRANCH'" + exit 1 + fi echo "llvm_version=$LLVM_VERSION_SHORT" >> $GITHUB_OUTPUT - name: Run build-opencl-clang action