This repository has been archived by the owner on Aug 30, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 37
78 lines (70 loc) · 2.91 KB
/
unit-test-bestla.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
name: Bestla Unit Test
on:
pull_request:
branches: [main]
paths:
- bestla/**
- .github/workflows/unit-test-bestla.yml
- '!bestla/README.md'
workflow_dispatch:
inputs:
compiler_version:
description: 'compiler_version'
required: false
type: string
default: '13.2.0'
# If there is a new commit, the previous jobs will be canceled
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
env:
INPUT_COMPILER_VERSION: ${{ inputs.compiler_version || '13.2.0' }}
WORKING_DIR: ${{ github.workspace }}
CONTAINER_NAME: "utTest"
jobs:
unit-test:
runs-on: [self-hosted, linux, X64, spr]
steps:
- name: Docker Clean Up
run: |
if [[ $(docker ps -a | grep -i '${{ env.CONTAINER_NAME }}-${{ runner.name }}'$) ]]; then
docker start ${{ env.CONTAINER_NAME }}-${{ runner.name }}
echo "remove left files through container ..."
docker exec ${{ env.CONTAINER_NAME }}-${{ runner.name }} bash -c "ls -a /neural-speed && rm -fr /neural-speed/* && rm -fr /neural-speed/.* || true"
fi
- name: Checkout out Repo
uses: actions/checkout@v3
with:
submodules: "recursive"
fetch-tags: true
- name: Env build
run: |
echo "do not need conda env"
source ~/.bashrc
bash ${{ github.workspace }}/.github/workflows/scripts/prepare_env_with_conda.sh "unit-test-bestla" "3.10"
conda activate unit-test-bestla || source activate unit-test-bestla
conda install --update-deps -c conda-forge gxx==${{ env.INPUT_COMPILER_VERSION }} gcc==${{ env.INPUT_COMPILER_VERSION }} gxx_linux-64==${{ env.INPUT_COMPILER_VERSION }} libstdcxx-ng sysroot_linux-64 -y
- name: Run UT
run: |
#source /opt/rh/gcc-toolset-12/enable
source ~/.bashrc
conda activate unit-test-bestla || source activate unit-test-bestla
export LD_LIBRARY_PATH=${HOME}/miniforge/envs/${conda_env}/lib/:$LD_LIBRARY_PATH
cd ${{ github.workspace }}/bestla && mkdir build && cd build && cmake .. -DBTLA_UT_ALL=ON && make -j
./bestla_ut 2>&1 | tee unit_test_bestla.log
- name: Check Result
run: |
if [[ $(grep -c "No such file or directory" ${{ github.workspace }}/bestla/build/unit_test_bestla.log) != 0 ]]; then
echo "neural-speed Compile Failed"
exit 1
fi
if [[ $(grep -c "Case Failed" ${{ github.workspace }}/bestla/build/unit_test_bestla.log) != 0 ]]; then
echo "UT Failed! Please check UT log."
exit 1
fi
- name: Publish pipeline artifact
uses: actions/upload-artifact@v3
if: ${{ !cancelled() }}
with:
name: Bestla Unit Test
path: ${{ github.workspace }}/bestla/build/unit_test*.*