Skip to content

[SYCLomatic] Create separate util file for groups #7100

[SYCLomatic] Create separate util file for groups

[SYCLomatic] Create separate util file for groups #7100

Workflow file for this run

name: Linux Github Action CI
permissions:
contents: read
on:
pull_request:
branches:
- SYCLomatic
types: [opened, synchronize, reopened, ready_for_review]
env:
BUILD_CONCURRENCY: 2
MACOS_BUILD_CONCURRENCY: 3
TEST_TIMEOUT: 3600
jobs:
clang-format:
runs-on: build
steps:
- name: 'PR commits + 1'
run: echo "PR_FETCH_DEPTH=$(( ${{ github.event.pull_request.commits }} + 1 ))" >> "${GITHUB_ENV}"
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
persist-credentials: false
fetch-depth: ${{ env.PR_FETCH_DEPTH }}
- name: Run clang-format
uses: ./devops/actions/clang-format-SYCLomatic
linux-build:
name: linux-build
if: github.event.pull_request.draft == false
runs-on: build
outputs:
build_success: ${{ steps.Echo-Build-Success.outputs.build_success }}
strategy:
fail-fast: false
steps:
- name: Process ENV
id: process_env
run: |
for mask_value in $(jq -r '.[]' $GITHUB_WORKSPACE/../../../../mask_env_values.json); do
echo "add mask for $mask_value";
echo "::add-mask::$mask_value";
done
- name: Cleanup Workspace
shell: bash
run: |
rm -rf ${{ github.workspace }}/*
- uses: actions/checkout@v4
with:
path: c2s.src
- name: Prepare Env
uses: ./c2s.src/devops/actions/prepare_env_lin
- name: Configure
timeout-minutes: 60
run: |
cd c2s.src
mkdir build
cd build
cmake \
-G Ninja \
-DLLVM_ENABLE_PROJECTS="clang" \
-DCMAKE_BUILD_TYPE=Release \
-DLLVM_TARGETS_TO_BUILD="X86;NVPTX" \
-DLLVM_ENABLE_TERMINFO=OFF \
-DLLVM_ENABLE_ASSERTIONS=ON \
-DCMAKE_C_COMPILER=$DPCPP_INSTALL_PREFIX/bin/icx \
-DCMAKE_CXX_COMPILER=$DPCPP_INSTALL_PREFIX/bin/icpx \
-DCMAKE_INSTALL_PREFIX=$PWD/../../c2s.obj \
../llvm
- name: Build
timeout-minutes: 120
run: |
mkdir c2s.obj
cd c2s.src/build
ninja install-c2s
- id: Echo-Build-Success
run: echo "::set-output name=build_success::true"
- name: Pack Results
run: |
tar -cJf c2s_obj.tar.xz -C $GITHUB_WORKSPACE/c2s.obj ./
tar -cJf c2s_build.tar.xz -C $GITHUB_WORKSPACE/c2s.src/build ./
- name: Upload Results
uses: actions/upload-artifact@v4
with:
name: SYCLomatic_linux_${{ github.sha }}
path: c2s_obj.tar.xz
- name: Upload Results Build
uses: actions/upload-artifact@v4
with:
name: SYCLomatic_linux_build_${{ github.sha }}
path: c2s_build.tar.xz
linux-lit:
name: linux-lit
if: |
needs.linux-build.outputs.build_success == 'true' && github.event.pull_request.draft == false
needs: [linux-build]
runs-on: build
strategy:
fail-fast: false
steps:
- name: Process ENV
id: process_env
run: |
for mask_value in $(jq -r '.[]' $GITHUB_WORKSPACE/../../../../mask_env_values.json); do
echo "add mask for $mask_value";
echo "::add-mask::$mask_value";
done
- name: Cleanup Workspace
shell: bash
run: |
rm -rf ${{ github.workspace }}/*
- uses: actions/checkout@v4
with:
path: c2s.src
- uses: actions/download-artifact@v4
with:
name: SYCLomatic_linux_${{ github.sha }}
- uses: actions/download-artifact@v4
with:
name: SYCLomatic_linux_build_${{ github.sha }}
- name: Unpack artifact
shell: bash
run: |
mkdir $GITHUB_WORKSPACE/c2s.obj
mkdir $GITHUB_WORKSPACE/download_build
tar -xvf c2s_obj.tar.xz -C $GITHUB_WORKSPACE/c2s.obj
tar -xvf c2s_build.tar.xz -C $GITHUB_WORKSPACE/download_build
- name: Prepare Env
uses: ./c2s.src/devops/actions/prepare_env_lin
- name: Configure
timeout-minutes: 60
run: |
cd c2s.src
mkdir build
cd build
cp -rf $GITHUB_WORKSPACE/download_build/* ./
find . -name CMakeCache.txt |xargs rm
cmake \
-G Ninja \
-DLLVM_ENABLE_PROJECTS="clang" \
-DCMAKE_BUILD_TYPE=Release \
-DLLVM_TARGETS_TO_BUILD="X86;NVPTX" \
-DLLVM_ENABLE_TERMINFO=OFF \
-DLLVM_ENABLE_ASSERTIONS=ON \
-DCMAKE_C_COMPILER=$DPCPP_INSTALL_PREFIX/bin/icx \
-DCMAKE_CXX_COMPILER=$DPCPP_INSTALL_PREFIX/bin/icpx \
-DCMAKE_INSTALL_PREFIX=$PWD/../../c2s.obj \
../llvm
- name: Lit
run: |
cd c2s.src/build
ninja check-clang-c2s
- name: Lit_CUDA8.0
run: |
cd c2s.src/build
rm -rf tools/clang/test/dpct
CUDA_PATH=$CUDAROOT/cuda-8.0 ninja check-clang-c2s
- name: Lit_CUDA9.2
run: |
cd c2s.src/build
rm -rf tools/clang/test/dpct
CUDA_PATH=$CUDAROOT/cuda-9.2 ninja check-clang-c2s
- name: Lit_CUDA10.2
run: |
cd c2s.src/build
rm -rf tools/clang/test/dpct
CUDA_PATH=$CUDAROOT/cuda-10.2 ninja check-clang-c2s
- name: Lit_CUDA11.8
run: |
cd c2s.src/build
rm -rf tools/clang/test/dpct
CUDA_PATH=$CUDAROOT/cuda-11.8 ninja check-clang-c2s
- name: BUILD_LIT
run: |
cd c2s.src/build
rm -rf tools/clang/test/dpct
BUILD_LIT=TRUE ninja check-clang-c2s
linux-test:
name: linux-test-${{ matrix.test_suite }}-cpu
runs-on: test
needs: [linux-build]
if: |
needs.linux-build.outputs.build_success == 'true' && github.event.pull_request.draft == false
strategy:
fail-fast: false
matrix:
include:
- test_suite: user_guide_samples
- test_suite: regressions
- test_suite: samples
- test_suite: help_function
- test_suite: features-usm
- test_suite: features-usmnone
- test_suite: api_coverage
- test_suite: behavior_tests
steps:
- name: Process ENV
id: process_env
run: |
for mask_value in $(jq -r '.[]' $GITHUB_WORKSPACE/../../../../mask_env_values.json); do
echo "add mask for $mask_value";
echo "::add-mask::$mask_value";
done
- name: Cleanup Workspace
shell: bash
run: |
rm -rf ${{ github.workspace }}/*
- uses: actions/checkout@v4
with:
path: c2s.src
- name: Checkout Test Repo
#uses: actions/checkout@v4
#with:
# repository: XXXXX
# path: test_repo
env:
FACELESS_TOKEN: ${{ secrets.GH_CI_NSTESTER_TOKEN }}
run: |
git clone https://[email protected]/oneapi-src/SYCLomatic-test.git test_repo -b SYCLomatic
- uses: actions/download-artifact@v4
with:
name: SYCLomatic_linux_${{ github.sha }}
- name: Unpack artifact
shell: bash
run: |
mkdir $GITHUB_WORKSPACE/c2s.obj
tar -xvf c2s_obj.tar.xz -C $GITHUB_WORKSPACE/c2s.obj
- name: Prepare Env
timeout-minutes: 60
uses: ./c2s.src/devops/actions/prepare_env_lin
with:
c2s_obj_dir: "c2s.obj"
- name: Run testing option_cpu
if: matrix.test_suite != 'features-usmnone'
env:
SUITE: ${{ matrix.test_suite }}
timeout-minutes: 600
shell: bash
run: |
cd test_repo
time python run_test.py --suite ${SUITE%-*} --option option_cpu
echo $PWD
- name: Run testing option_usmnone_cpu
if: (matrix.test_suite != 'help_function' && matrix.test_suite != 'features-usm') && (success() || failure())
env:
SUITE: ${{ matrix.test_suite }}
timeout-minutes: 600
shell: bash
run: |
cd test_repo
time python run_test.py --suite ${SUITE%-*} --option option_usmnone_cpu
echo $PWD