@@ -35,87 +35,46 @@ concurrency:
3535 cancel-in-progress : true
3636
3737jobs :
38- build-on-centos-7 :
39- strategy :
40- fail-fast : false
41- if : ${{ startsWith(github.repository, 'apache/') }}
42- runs-on : ubuntu-22.04
43- container : centos:7
44- steps :
45- - name : Build Gluten native libraries and package
46- run : |
47- sed -i -e 's|mirrorlist=|#mirrorlist=|g' /etc/yum.repos.d/CentOS-* || true
48- sed -i -e 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-* || true
49- yum update -y
50- yum install -y epel-release sudo dnf
51- yum install -y centos-release-scl
52- rm /etc/yum.repos.d/CentOS-SCLo-scl.repo -f
53- sed -i \
54- -e 's/^mirrorlist/#mirrorlist/' \
55- -e 's/^#baseurl/baseurl/' \
56- -e 's/mirror\.centos\.org/vault.centos.org/' \
57- /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo
58- yum install -y devtoolset-11
59- source /opt/rh/devtoolset-11/enable
60- yum install -y java-1.8.0-openjdk-devel patch wget git perl python3-pip
61- export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk && \
62- export PATH=$JAVA_HOME/bin:$PATH
63-
64- # action/checkout does not work centos7 anymore, so we clone the branch instead.
65- git clone -b main --depth=1 https://github.com/apache/gluten.git && cd gluten/
66- if [ ${{ github.event_name }} = "pull_request" ]; then
67- git fetch origin ${{ github.ref }}:pr_branch && git checkout pr_branch
68- fi
69- ./dev/package.sh --spark_version=3.5
7038
71- build-on-centos :
39+ weekly- build-on-centos :
7240 strategy :
7341 fail-fast : false
7442 matrix :
7543 os : [ "centos:8", "quay.io/centos/centos:stream9" ]
76- if : ${{ startsWith(github.repository, 'apache/') }}
44+
7745 runs-on : ubuntu-22.04
7846 container : ${{ matrix.os }}
7947 steps :
8048 - name : Checkout repository
8149 uses : actions/checkout@v4
82- - name : Update mirror list
83- run : |
84- sed -i -e "s|mirrorlist=|#mirrorlist=|g" /etc/yum.repos.d/CentOS-* || true
85- sed -i -e "s|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g" /etc/yum.repos.d/CentOS-* || true
8650 - name : build
8751 run : |
88- yum update -y
89- yum install -y epel-release sudo dnf
90- if [ "${{ matrix.os }}" = "centos:7" ]; then
91- yum install -y centos-release-scl
92- rm /etc/yum.repos.d/CentOS-SCLo-scl.repo -f
93- sed -i \
94- -e 's/^mirrorlist/#mirrorlist/' \
95- -e 's/^#baseurl/baseurl/' \
96- -e 's/mirror\.centos\.org/vault.centos.org/' \
97- /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo
98- yum install -y devtoolset-11
99- source /opt/rh/devtoolset-11/enable
100- elif [ "${{ matrix.os }}" = "quay.io/centos/centos:stream9" ]; then
101- dnf install -y --setopt=install_weak_deps=False gcc-toolset-12
102- source /opt/rh/gcc-toolset-12/enable || exit 1
103- else
104- dnf install -y --setopt=install_weak_deps=False gcc-toolset-11
105- source /opt/rh/gcc-toolset-11/enable || exit 1
52+ if [ "${{ matrix.os }}" = "centos:8" ]; then
53+ sed -i -e "s|mirrorlist=|#mirrorlist=|g" /etc/yum.repos.d/CentOS-* || true
54+ sed -i -e "s|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g" /etc/yum.repos.d/CentOS-* || true
55+ dnf update -y
56+ dnf install -y centos-release-stream
57+ sed -i -e "s|mirrorlist=|#mirrorlist=|g" /etc/yum.repos.d/CentOS-Stream-* || true
58+ sed -i -e "s|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g" /etc/yum.repos.d/CentOS-Stream-* || true
59+ dnf swap -y --allowerasing centos-{linux,stream}-repos
60+ sed -i -e "s|mirrorlist=|#mirrorlist=|g" /etc/yum.repos.d/CentOS-Stream-* || true
61+ sed -i -e "s|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g" /etc/yum.repos.d/CentOS-Stream-* || true
10662 fi
63+ dnf install -y epel-release sudo dnf
64+ dnf install -y --setopt=install_weak_deps=False gcc-toolset-12
65+ source /opt/rh/gcc-toolset-12/enable || exit 1
10766 yum install -y java-1.8.0-openjdk-devel patch wget git perl
10867 export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk && \
10968 export PATH=$JAVA_HOME/bin:$PATH
110-
69+ export VELOX_BUILD_SHARED=ON
11170 cd $GITHUB_WORKSPACE/ && ./dev/package.sh --spark_version=3.5
11271
113- build-on-ubuntu :
72+ weekly- build-on-ubuntu :
11473 strategy :
11574 fail-fast : false
11675 matrix :
117- os : [ "ubuntu:22.04" ] # skip "ubuntu:20.04" due to not enough disk space
118- if : ${{ startsWith(github.repository, 'apache/') }}
76+ os : [ "ubuntu:22.04" ]
77+
11978 runs-on : ubuntu-22.04
12079 container : ${{ matrix.os }}
12180 steps :
@@ -125,35 +84,42 @@ jobs:
12584 # sed -i 's|http://archive|http://us.archive|g' /etc/apt/sources.list
12685 # To avoid the prompt for region selection during installing tzdata.
12786 export DEBIAN_FRONTEND=noninteractive
128- apt-get update && apt-get install -y sudo maven wget git curl
129- if [ "${{ matrix.os }}" = "ubuntu:20.04" ]; then
130- sudo apt install -y software-properties-common
131- sudo add-apt-repository ppa:ubuntu-toolchain-r/test
132- sudo apt update && sudo apt install -y gcc-11 g++-11 build-essential cmake
133- export CC=/usr/bin/gcc-11
134- export CXX=/usr/bin/g++-11
135- wget https://github.com/Cyan4973/xxHash/archive/refs/tags/v0.8.1.tar.gz
136- tar xf v0.8.1.tar.gz
137- cd xxHash-0.8.1/
138- make && make install
139- cd /tmp
140- wget https://github.com/google/googletest/archive/refs/tags/v1.13.0.tar.gz
141- tar xf v1.13.0.tar.gz && cd googletest-1.13.0/
142- export CXXFLAGS=-fPIC
143- cmake . && make install -j
144- apt autoremove -y
145- rm -rf /tmp/*
146- fi
147- sudo apt-get install -y openjdk-8-jdk python3-pip cmake
87+ export INSTALL_PREFIX=/usr/
88+ apt-get update && apt-get install -y sudo maven wget git curl gcc-11 g++-11 build-essential cmake
89+ cd /tmp
90+ wget https://github.com/gflags/gflags/archive/v2.2.2.tar.gz -O gflags.tar.gz
91+ tar -xzf gflags.tar.gz && cd gflags-2.2.2
92+ cmake -B build \
93+ -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
94+ -DBUILD_SHARED_LIBS=ON \
95+ -DBUILD_STATIC_LIBS=ON \
96+ -DBUILD_gflags_LIB=ON \
97+ -DCMAKE_INSTALL_PREFIX=/usr/local \
98+ -DCMAKE_BUILD_TYPE=Release
99+ cmake --build build -j4 --target install
100+ wget https://github.com/Cyan4973/xxHash/archive/refs/tags/v0.8.1.tar.gz
101+ tar xf v0.8.1.tar.gz
102+ cd xxHash-0.8.1/
103+ make && make install
104+ cd /tmp
105+ wget https://github.com/google/googletest/archive/refs/tags/v1.13.0.tar.gz
106+ tar xf v1.13.0.tar.gz && cd googletest-1.13.0/
107+ export CXXFLAGS=-fPIC
108+ cmake . && make install -j
109+ apt autoremove -y
110+ rm -rf /tmp/*
111+ apt-get install -y openjdk-8-jdk python3-pip
112+ pip3 install cmake==3.31.4
148113 export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
114+ export VELOX_BUILD_SHARED=ON
149115 cd $GITHUB_WORKSPACE/ && ./dev/package.sh --spark_version=3.5
150116
151- build-on-openeuler :
117+ weekly- build-on-openeuler :
152118 strategy :
153119 fail-fast : false
154120 matrix :
155121 os : [ "openeuler/openeuler:24.03" ]
156- if : ${{ startsWith(github.repository, 'apache/') }}
122+
157123 runs-on : ubuntu-24.04-arm
158124 container : ${{ matrix.os }}
159125 steps :
@@ -177,12 +143,12 @@ jobs:
177143 $TPCH_TEST --extra-conf=spark.gluten.loadLibFromJar=true \
178144 --extra-conf=spark.gluten.loadLibOS=openEuler --extra-conf=spark.gluten.loadLibOSVersion=24.03
179145
180- build-on-openeuler-vcpkg :
146+ weekly- build-on-openeuler-vcpkg :
181147 strategy :
182148 fail-fast : false
183149 matrix :
184150 os : [ "openeuler/openeuler:24.03" ]
185- if : ${{ startsWith(github.repository, 'apache/') }}
151+
186152 runs-on : ubuntu-24.04-arm
187153 container : ${{ matrix.os }}
188154 steps :
@@ -205,10 +171,10 @@ jobs:
205171 cd $GITHUB_WORKSPACE/tools/gluten-it
206172 $TPCH_TEST
207173
208- build-on-macos :
174+ weekly- build-on-macos :
209175 strategy :
210176 fail-fast : false
211- if : ${{ startsWith(github.repository, 'apache/') }}
177+
212178 runs-on : macos-15
213179 env :
214180 INSTALL_PREFIX : /tmp/deps-install
0 commit comments