This repository was archived by the owner on May 9, 2024. It is now read-only.
File tree Expand file tree Collapse file tree 5 files changed +45
-11
lines changed Expand file tree Collapse file tree 5 files changed +45
-11
lines changed Original file line number Diff line number Diff line change 70
70
71
71
- name : Start the container
72
72
run : |
73
+ set -vx
73
74
mkdir -p build
74
75
docker run -id --name build.${{ inputs.name }} --network host build.${{ inputs.name }}:latest
75
76
docker cp . build.${{ inputs.name }}:/_work
Original file line number Diff line number Diff line change 32
32
name : clang
33
33
options : -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
34
34
35
+ build-asan :
36
+ name : Build
37
+ uses : ./.github/workflows/build.yml
38
+ with :
39
+ name : asan
40
+ options : -DENABLE_ASAN=on
41
+
35
42
build-l0 :
36
43
name : Build
37
44
uses : ./.github/workflows/build.yml
@@ -82,20 +89,21 @@ jobs:
82
89
test : sanity
83
90
84
91
asan :
85
- name : Asan test (Gtests)
92
+ name : ASAN generate cache (Gtests)
86
93
needs : build
87
94
uses : ./.github/workflows/test.yml
88
95
with :
89
96
cache-suffix : ${{ needs.build.outputs.cache-suffix }}
90
97
test : asan
91
98
92
- # test-asan-docker:
93
- # needs: [build-asan, asan]
94
- # uses: ./.github/workflows/test-docker.yml
95
- # with:
96
- # build-name: asan
97
- # reset-cache: ${{ !!inputs.reset-cache }}
98
-
99
+ test-asan-docker :
100
+ name : ASAN docker test (Gtests)
101
+ needs : [build-asan, asan]
102
+ uses : ./.github/workflows/test-docker.yml
103
+ with :
104
+ name : conda
105
+ build-name : asan
106
+ reset-cache : ${{ !!inputs.reset-cache }}
99
107
100
108
build-cuda-docker :
101
109
name : Build
@@ -168,3 +176,4 @@ jobs:
168
176
name : PyHDK (Pytest)
169
177
uses : ./.github/workflows/pytest.yml
170
178
179
+
Original file line number Diff line number Diff line change 34
34
echo RUN_STAMP=docker-${{ runner.os }}-${{ inputs.name }} >>$GITHUB_ENV
35
35
36
36
- uses : actions/download-artifact@v3
37
+ if : inputs.build-name != 'asan'
37
38
with :
38
39
name : ${{ env.RUN_STAMP }}-${{ inputs.build-name }}
39
40
41
+ - uses : actions/download-artifact@v3
42
+ if : inputs.build-name == 'asan'
43
+ with :
44
+ name : ${{ runner.os }}-asan-build
45
+
46
+ - uses : actions/download-artifact@v3
47
+ if : inputs.build-name == 'asan'
48
+ with :
49
+ name : ${{ runner.os }}-asan-cache
50
+
40
51
- name : Unpack build files, create Dockerfile
41
52
run : |
42
53
tar -zxf build.tgz
73
84
- name : ASAN test
74
85
if : inputs.build-name == 'asan'
75
86
run : |
76
- echo FIXME docker exec -u ghrunner hdk-build.${{ inputs.name }} bash -c 'cd /_work/omniscidb/build/Tests && ./ArrowBasedExecuteTest --use-rel-alg-cache=cache.txt'
87
+ docker cp cache.tgz hdk-build.${{ inputs.name }}:/_work/
88
+ docker exec hdk-build.${{ inputs.name }} chown -R ghrunner:ghrunner /_work/
89
+ docker exec -u ghrunner hdk-build.${{ inputs.name }} tar -zxf /_work/cache.tgz -C /_work/build/omniscidb/Tests
90
+ docker exec -u ghrunner hdk-build.${{ inputs.name }} conda update conda
91
+ docker exec -u ghrunner hdk-build.${{ inputs.name }} conda env update -f /_work/omniscidb/scripts/mapd-deps-conda-dev-env.yml
92
+ docker exec -u ghrunner hdk-build.${{ inputs.name }} conda install -n omnisci-dev -c conda-forge gtest
93
+ docker exec -u ghrunner hdk-build.${{ inputs.name }} conda run --no-capture-output -n omnisci-dev bash -cvx 'export LD_LIBRARY_PATH=$(find /_work -name "*.so" -exec dirname {} \; | sort -u | tr "\n" :)$LD_LIBRARY_PATH; cd /_work/build/omniscidb/Tests && ldd ./ArrowBasedExecuteTest && ./ArrowBasedExecuteTest --use-rel-alg-cache=cache.txt'
77
94
78
95
- name : L0 Sanity test
79
96
if : inputs.name == 'l0'
85
102
if : always()
86
103
run : docker stop hdk-build.${{ inputs.name }} || true
87
104
88
-
Original file line number Diff line number Diff line change 91
91
if : inputs.test == 'asan'
92
92
uses : actions/upload-artifact@v3
93
93
with :
94
- name : docker- ${{ env.RUN_STAMP }}-asan
94
+ name : ${{ runner.os }}-asan-cache
95
95
path : /tmp/cache.tgz
96
96
Original file line number Diff line number Diff line change
1
+ # Conda
2
+ RUN curl -o Miniconda3-latest-Linux-x86_64.sh -L https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh && \
3
+ sh Miniconda3-latest-Linux-x86_64.sh -u -b -p /usr/share/miniconda && \
4
+ chown -R ghrunner:ghrunner /usr/share/miniconda && \
5
+ rm -f Miniconda3-latest-Linux-x86_64.sh
6
+
7
+ ENV PATH /usr/share/miniconda/envs/omnisci-dev/bin:/usr/share/miniconda/bin:$PATH
8
+
You can’t perform that action at this time.
0 commit comments