[SYCLomatic] Enable build lit #1
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 | ||
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@v3 | ||
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-lit: | ||
name: linux-build-lit | ||
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@v2 | ||
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 ./ | ||
- name: Upload Results | ||
uses: actions/upload-artifact@v1 | ||
with: | ||
name: SYCLomatic_linux_${{ github.sha }} | ||
path: c2s_obj.tar.xz | ||
- name: Lit | ||
if: | | ||
steps.Echo-Build-Success.outputs.build_success == 'true' | ||
run: | | ||
cd c2s.src/build | ||
ninja check-clang-c2s | ||
- name: Lit_CUDA8.0 | ||
if: | | ||
steps.Echo-Build-Success.outputs.build_success == 'true' | ||
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 | ||
if: | | ||
steps.Echo-Build-Success.outputs.build_success == 'true' | ||
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 | ||
if: | | ||
steps.Echo-Build-Success.outputs.build_success == 'true' | ||
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 | ||
if: | | ||
steps.Echo-Build-Success.outputs.build_success == 'true' | ||
run: | | ||
cd c2s.src/build | ||
rm -rf tools/clang/test/dpct | ||
CUDA_PATH=$CUDAROOT/cuda-11.8 ninja check-clang-c2s | ||
- name: BUILD_LIT | ||
if: | | ||
steps.Echo-Build-Success.outputs.build_success == 'true' | ||
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-lit] | ||
if: | | ||
needs.linux-build-lit.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@v2 | ||
with: | ||
path: c2s.src | ||
- name: Checkout Test Repo | ||
#uses: actions/checkout@v2 | ||
#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@v2 | ||
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 |