Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 16 additions & 2 deletions .github/workflows/on-push-verification-in-tree.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Copy link

Copilot AI Nov 23, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The comment states 'Eg. 190 for LLVM 19' but the grep pattern \K\d+ would match '190' from 'ocl-open-190', not just '19'. The example should clarify this matches the full numeric suffix (e.g., '190' from 'ocl-open-190').

Suggested change
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. matches '190' from 'ocl-open-190' (full numeric suffix)

Copilot uses AI. Check for mistakes.
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

Copy link

Copilot AI Nov 23, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The variable name 'LLVM_VERSION_LONG' is misleading since it contains '190' (a 3-digit number), while 'LLVM_VERSION_SHORT' contains '19' (a 2-digit number). This logic will fail for LLVM versions 9 and below (e.g., 'ocl-open-90' would produce '9' after removing the last character, but version 100+ would work). Consider renaming to reflect that one contains the padded version and add validation for single-digit versions.

Suggested change
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
# Extract the padded LLVM version (e.g., 190 for LLVM 19, 90 for LLVM 9, 200 for LLVM 20)
LLVM_VERSION_PADDED=$(echo "$BRANCH" | grep -oP 'ocl-open-\K\d+')
if [ -z "$LLVM_VERSION_PADDED" ]; then
echo "[OPENCL-CLANG] Error: Could not parse LLVM version from branch name '$BRANCH'"
exit 1
fi
# Extract the actual LLVM version (e.g., 19 from 190, 9 from 90, 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

Copilot uses AI. Check for mistakes.
- 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 }}
Loading