Skip to content

Commit 0e2c7c5

Browse files
zhouyuanLakehouse Engine Bot
authored andcommitted
adding daily tests
Signed-off-by: Yuan <[email protected]> Alchemy-item: [fix: Adding daily tests](IBM#44 (comment)) commit 1/1 - 3febe46
1 parent bf9ef5a commit 0e2c7c5

File tree

1 file changed

+179
-0
lines changed

1 file changed

+179
-0
lines changed

.github/workflows/gluten_daily.yml

Lines changed: 179 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,179 @@
1+
# Copyright (c) Facebook, Inc. and its affiliates.
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
name: Gluten Daily Build
16+
17+
on:
18+
push:
19+
paths:
20+
- '.github/workflows/gluten_daily.yml'
21+
schedule:
22+
- cron: '0 0 * * *'
23+
env:
24+
MVN_CMD: 'mvn -ntp'
25+
26+
jobs:
27+
28+
gluten-cpp-build:
29+
name: gluten cpp build
30+
# prevent errors when forks ff their main branch
31+
if: ${{ github.repository == 'IBM/velox' }}
32+
runs-on: ubuntu-22.04
33+
env:
34+
CCACHE_DIR: "${{ github.workspace }}/.ccache"
35+
steps:
36+
- uses: actions/checkout@v4
37+
- name: Get Ccache
38+
uses: actions/cache/restore@v4
39+
with:
40+
path: '${{ env.CCACHE_DIR }}'
41+
key: ccache-centos7-release-default-${{github.sha}}
42+
- name: Setup Gluten
43+
run: |
44+
git clone --depth 1 https://github.com/apache/incubator-gluten gluten && cd gluten
45+
BRANCH=$(echo ${GITHUB_REF#refs/heads/})
46+
sed -i 's/oap-project/IBM/g' ep/build-velox/src/get_velox.sh
47+
sed -i 's/VELOX_BRANCH=2025.*/VELOX_BRANCH=main/g' ep/build-velox/src/get_velox.sh
48+
- name: Build Gluten native libraries
49+
run: |
50+
docker pull apache/gluten:vcpkg-centos-7
51+
docker run -v $GITHUB_WORKSPACE:/work -w /work apache/gluten:vcpkg-centos-7 bash -c "
52+
set -e
53+
df -a
54+
cd /work/gluten
55+
export CCACHE_DIR=/work/.ccache
56+
mkdir -p /work/.ccache
57+
bash dev/ci-velox-buildstatic-centos-7.sh
58+
ccache -s
59+
mkdir -p /work/.m2/repository/org/apache/arrow/
60+
cp -r /root/.m2/repository/org/apache/arrow/* /work/.m2/repository/org/apache/arrow/
61+
"
62+
- name: "Save ccache"
63+
uses: actions/cache/save@v4
64+
id: ccache
65+
with:
66+
path: '${{ env.CCACHE_DIR }}'
67+
key: ccache-centos7-release-default-${{github.sha}}
68+
- uses: actions/upload-artifact@v4
69+
with:
70+
name: velox-native-lib-centos-7-${{github.sha}}
71+
path: ./gluten/cpp/build/releases/
72+
if-no-files-found: error
73+
- uses: actions/upload-artifact@v4
74+
with:
75+
name: arrow-jars-centos-7-${{github.sha}}
76+
path: .m2/repository/org/apache/arrow/
77+
if-no-files-found: error
78+
79+
linux-gcc:
80+
name: Build with GCC
81+
if: ${{ github.repository == 'IBM/velox' }}
82+
runs-on: ubuntu-22.04
83+
container: ghcr.io/facebookincubator/velox-dev:adapters
84+
defaults:
85+
run:
86+
shell: bash
87+
env:
88+
CCACHE_DIR: ${{ github.workspace }}/ccache
89+
VELOX_DEPENDENCY_SOURCE: SYSTEM
90+
GTest_SOURCE: BUNDLED
91+
cudf_SOURCE: BUNDLED
92+
CUDA_VERSION: '12.8'
93+
faiss_SOURCE: BUNDLED
94+
steps:
95+
- uses: actions/checkout@v4
96+
with:
97+
fetch-depth: 2
98+
persist-credentials: false
99+
100+
- name: Fix git permissions
101+
# Usually actions/checkout does this but as we run in a container
102+
# it doesn't work
103+
run: git config --global --add safe.directory ${GITHUB_WORKSPACE}
104+
105+
- name: Install Dependencies
106+
run: |
107+
if git diff --name-only HEAD^1 HEAD | grep -q "scripts/setup-"; then
108+
# Overwrite old setup scripts with changed versions
109+
cp scripts/setup-* /
110+
111+
mkdir /tmp/build
112+
cd /tmp/build
113+
source /opt/rh/gcc-toolset-12/enable
114+
# install basic deps
115+
bash /setup-centos9.sh
116+
117+
source /setup-centos9.sh
118+
install_adapters
119+
install_cuda $CUDA_VERSION
120+
121+
cd /
122+
rm -rf /tmp/build # cleanup to avoid issues with disk space
123+
fi
124+
125+
- name: Install Minio
126+
run: |
127+
MINIO_BINARY="minio-2022-05-26"
128+
if [ ! -f /usr/local/bin/${MINIO_BINARY} ]; then
129+
wget https://dl.min.io/server/minio/release/linux-amd64/archive/minio.RELEASE.2022-05-26T05-48-41Z -O ${MINIO_BINARY}
130+
chmod +x ./${MINIO_BINARY}
131+
mv ./${MINIO_BINARY} /usr/local/bin/
132+
fi
133+
134+
- uses: actions/cache/restore@v4
135+
with:
136+
path: '${{ env.CCACHE_DIR }}'
137+
key: ccache-linux-adapters-${{ inputs.use-clang && 'clang' || 'gcc' }}-${{github.sha}}
138+
restore-keys: |
139+
ccache-linux-adapters-${{ inputs.use-clang && 'clang' || 'gcc' }}
140+
141+
- name: Zero Ccache Statistics
142+
run: |
143+
ccache -sz
144+
145+
- name: Make Release Build
146+
env:
147+
#MAKEFLAGS: 'NUM_THREADS=8 MAX_HIGH_MEM_JOBS=4 MAX_LINK_JOBS=4'
148+
CUDA_ARCHITECTURES: 70
149+
CUDA_COMPILER: /usr/local/cuda-${CUDA_VERSION}/bin/nvcc
150+
# Set compiler to GCC 12
151+
CUDA_FLAGS: -ccbin /opt/rh/gcc-toolset-12/root/usr/bin
152+
run: |
153+
EXTRA_CMAKE_FLAGS=(
154+
"-DVELOX_ENABLE_BENCHMARKS=ON"
155+
"-DVELOX_ENABLE_EXAMPLES=ON"
156+
"-DVELOX_ENABLE_ARROW=ON"
157+
"-DVELOX_ENABLE_GEO=ON"
158+
"-DVELOX_ENABLE_FAISS=ON"
159+
"-DVELOX_ENABLE_PARQUET=ON"
160+
"-DVELOX_ENABLE_HDFS=ON"
161+
"-DVELOX_ENABLE_S3=ON"
162+
"-DVELOX_ENABLE_GCS=ON"
163+
"-DVELOX_ENABLE_ABFS=ON"
164+
"-DVELOX_ENABLE_REMOTE_FUNCTIONS=ON"
165+
"-DVELOX_ENABLE_CUDF=ON"
166+
"-DVELOX_ENABLE_WAVE=ON"
167+
"-DVELOX_MONO_LIBRARY=ON"
168+
"-DVELOX_BUILD_SHARED=ON"
169+
)
170+
if [[ "${USE_CLANG}" = "true" ]]; then scripts/setup-centos9.sh install_clang15; export CC=/usr/bin/clang-15; export CXX=/usr/bin/clang++-15; CUDA_FLAGS="-ccbin /usr/lib64/llvm15/bin/clang++-15"; fi
171+
make release EXTRA_CMAKE_FLAGS="${EXTRA_CMAKE_FLAGS[*]}"
172+
173+
- name: Ccache after
174+
run: ccache -s
175+
176+
- uses: actions/cache/save@v4
177+
with:
178+
path: '${{ env.CCACHE_DIR }}'
179+
key: ccache-linux-adapters-gcc-${{github.sha}}

0 commit comments

Comments
 (0)