Skip to content

[SYCLomatic] Create separate util file for groups #7076

[SYCLomatic] Create separate util file for groups

[SYCLomatic] Create separate util file for groups #7076

Workflow file for this run

name: Windows 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:
windows-build:
name: windows-build
if: github.event.pull_request.draft == false
runs-on: win_build_sc
outputs:
build_success: ${{ steps.Echo-Build-Success.outputs.build_success }}
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v4
with:
path: c2s.src
- name: Checkout Test Repo
#uses: actions/checkout@v4
#with:
# repository:
# path: test_repo
run: |
if exist test_repo rd /s /q test_repo
git clone https://[email protected]/oneapi-src/SYCLomatic-test.git test_repo -b SYCLomatic
shell: cmd
- name: Cleanup Workspace
run: |
if exist c2s.obj rd /s /q c2s.obj
if exist c2s.src/build rd /s /q c2s.src/build
if exist c2s_obj.7z del /s /q c2s_obj.7z
shell: cmd
- name: Process ENV
id: process_env
run: |
for mask_value in $(C:/jq-win64.exe -r ".[]" $GITHUB_WORKSPACE/../../../mask_env_values.json); do
echo "add mask for $mask_value";
echo "::add-mask::$mask_value";
done
shell: bash
- name: Prepare Env
uses: ./c2s.src/devops/actions/prepare_env_win
- name: Configure
timeout-minutes: 120
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.exe" \
-DCMAKE_CXX_COMPILER="$DPCPP_INSTALL_PREFIX/bin/icx.exe" \
-DCMAKE_INSTALL_PREFIX=$PWD/../../c2s.obj \
../llvm
shell: bash
- name: Build
timeout-minutes: 120
run: |
cd c2s.src/build
ninja install-c2s
shell: bash
- id: Echo-Build-Success
run: echo "::set-output name=build_success::true"
- name: Pack Build
shell: cmd
run: |
C:\7-Zip\7z.exe a c2s_obj.7z c2s.obj
C:\7-Zip\7z.exe a c2s_build.7z c2s.src/build
- name: Upload Results
uses: actions/upload-artifact@v4
with:
name: SYCLomatic_Win_${{ github.sha }}
path: c2s_obj.7z
- name: Upload Results Build
uses: actions/upload-artifact@v4
with:
name: SYCLomatic_Win_build_${{ github.sha }}
path: c2s_build.7z
windows-lit:
name: windows-lit
runs-on: win_build_sc
needs: [windows-build]
if: |
needs.windows-build.outputs.build_success == 'true' && github.event.pull_request.draft == false
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v4
with:
path: c2s.src
- name: Cleanup Workspace
run: |
if exist c2s.obj rd /s /q c2s.obj
if exist c2s.src/build rd /s /q c2s.src/build
if exist c2s_obj.7z del /s /q c2s_obj.7z
shell: cmd
- name: Download Results
uses: actions/download-artifact@v4
with:
name: SYCLomatic_Win_${{ github.sha }}
- name: Download Results Build
uses: actions/download-artifact@v4
with:
name: SYCLomatic_Win_build_${{ github.sha }}
- name: Extract Build
shell: cmd
run: |
C:\7-Zip\7z.exe x -y c2s_obj.7z
C:\7-Zip\7z.exe x -y c2s_build.7z
- name: Process ENV
id: process_env
run: |
for mask_value in $(C:/jq-win64.exe -r ".[]" $GITHUB_WORKSPACE/../../../mask_env_values.json); do
echo "add mask for $mask_value";
echo "::add-mask::$mask_value";
done
shell: bash
- name: Prepare Env
uses: ./c2s.src/devops/actions/prepare_env_win
- name: Configure
timeout-minutes: 120
run: |
cd c2s.src/build
find . -name CMakeCache.txt -delete
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.exe" \
-DCMAKE_CXX_COMPILER="$DPCPP_INSTALL_PREFIX/bin/icx.exe" \
-DCMAKE_INSTALL_PREFIX=$PWD/../../c2s.obj \
../llvm
shell: bash
- name: Lit
run: |
cd c2s.src/build
ninja check-clang-c2s -j8
shell: bash
- name: Set_CUDA_Env8.0
run: |
echo "CUDA_PATH=$CUDAROOT/v8.0" >> $GITHUB_ENV
shell: bash
- name: Lit_CUDA8.0
run: |
cd c2s.src/build
rm -r tools/clang/test/dpct
ninja check-clang-c2s -j8
shell: bash
- name: Set_CUDA_Env9.2
run: |
echo "CUDA_PATH=$CUDAROOT/v9.2" >> $GITHUB_ENV
shell: bash
- name: Lit_CUDA9.2
run: |
cd c2s.src/build
rm -r tools/clang/test/dpct
ninja check-clang-c2s -j8
- name: Set_CUDA_Env10.2
run: |
echo "CUDA_PATH=$CUDAROOT/v10.2" >> $GITHUB_ENV
shell: bash
- name: Lit_CUDA10.2
run: |
cd c2s.src/build
rm -r tools/clang/test/dpct
ninja check-clang-c2s -j8
- name: Set_CUDA_Env11.8
run: |
echo "CUDA_PATH=$CUDAROOT/v11.8" >> $GITHUB_ENV
shell: bash
- name: Lit_CUDA11.8
run: |
cd c2s.src/build
rm -r tools/clang/test/dpct
ninja check-clang-c2s -j8
windows-test:
name: windows-test-${{ matrix.test_suite }}-cpu
runs-on: win_build_sc
needs: [windows-build]
if: |
needs.windows-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: api_coverage
- test_suite: behavior_tests
steps:
- uses: actions/checkout@v4
with:
path: c2s.src
- name: Checkout Test Repo
env:
FACELESS_TOKEN: ${{ secrets.GH_CI_NSTESTER_TOKEN }}
run: |
if exist test_repo rd /s /q test_repo
git clone https://github.com/oneapi-src/SYCLomatic-test.git test_repo -b SYCLomatic
shell: cmd
- name: Cleanup Workspace
run: |
if exist c2s.obj rd /s /q c2s.obj
if exist c2s.src/build rd /s /q c2s.src/build
if exist c2s_obj.7z del /s /q c2s_obj.7z
shell: cmd
- name: Download Build
uses: actions/download-artifact@v4
with:
name: SYCLomatic_Win_${{ github.sha }}
- name: Extract Build
shell: cmd
run: |
C:\7-Zip\7z.exe x -y c2s_obj.7z
- name: Process ENV
id: process_env
run: |
for mask_value in $(C:/jq-win64.exe -r ".[]" $GITHUB_WORKSPACE/../../../mask_env_values.json); do
echo "add mask for $mask_value";
echo "::add-mask::$mask_value";
done
shell: bash
- name: Prepare Env
timeout-minutes: 60
uses: ./c2s.src/devops/actions/prepare_env_win
- name: Run testing option_cpu
timeout-minutes: 600
shell: bash
run: |
cd test_repo
python run_test.py --suite ${{ matrix.test_suite }} --option option_cpu
echo $PWD
- name: Run testing option_usmnone_cpu
if: success() || failure()
timeout-minutes: 600
shell: bash
run: |
cd test_repo
python run_test.py --suite ${{ matrix.test_suite }} --option option_usmnone_cpu
echo $PWD