[SYCLomatic] Add query-api-mapping support for 26 thrust APIs #6942
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |