@@ -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,40 @@ 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 openjdk-8-jdk python3-pip
89+ pip3 install cmake==3.31.4
90+ cd /tmp
91+ wget https://github.com/gflags/gflags/archive/v2.2.2.tar.gz -O gflags.tar.gz
92+ tar -xzf gflags.tar.gz && cd gflags-2.2.2
93+ cmake -B build \
94+ -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
95+ -DBUILD_SHARED_LIBS=ON \
96+ -DBUILD_STATIC_LIBS=ON \
97+ -DBUILD_gflags_LIB=ON \
98+ -DCMAKE_INSTALL_PREFIX=/usr/local \
99+ -DCMAKE_BUILD_TYPE=Release
100+ cmake --build build -j4 --target install
101+ wget https://github.com/Cyan4973/xxHash/archive/refs/tags/v0.8.1.tar.gz
102+ tar xf v0.8.1.tar.gz
103+ cd xxHash-0.8.1/
104+ make && make install
105+ cd /tmp
106+ wget https://github.com/google/googletest/archive/refs/tags/v1.13.0.tar.gz
107+ tar xf v1.13.0.tar.gz && cd googletest-1.13.0/
108+ export CXXFLAGS=-fPIC
109+ cmake . && make install -j
110+ apt autoremove -y
148111 export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
112+ export VELOX_BUILD_SHARED=ON
149113 cd $GITHUB_WORKSPACE/ && ./dev/package.sh --spark_version=3.5
150114
151- build-on-openeuler :
115+ weekly- build-on-openeuler :
152116 strategy :
153117 fail-fast : false
154118 matrix :
155119 os : [ "openeuler/openeuler:24.03" ]
156- if : ${{ startsWith(github.repository, 'apache/') }}
120+
157121 runs-on : ubuntu-24.04-arm
158122 container : ${{ matrix.os }}
159123 steps :
@@ -177,12 +141,12 @@ jobs:
177141 $TPCH_TEST --extra-conf=spark.gluten.loadLibFromJar=true \
178142 --extra-conf=spark.gluten.loadLibOS=openEuler --extra-conf=spark.gluten.loadLibOSVersion=24.03
179143
180- build-on-openeuler-vcpkg :
144+ weekly- build-on-openeuler-vcpkg :
181145 strategy :
182146 fail-fast : false
183147 matrix :
184148 os : [ "openeuler/openeuler:24.03" ]
185- if : ${{ startsWith(github.repository, 'apache/') }}
149+
186150 runs-on : ubuntu-24.04-arm
187151 container : ${{ matrix.os }}
188152 steps :
@@ -205,10 +169,10 @@ jobs:
205169 cd $GITHUB_WORKSPACE/tools/gluten-it
206170 $TPCH_TEST
207171
208- build-on-macos :
172+ weekly- build-on-macos :
209173 strategy :
210174 fail-fast : false
211- if : ${{ startsWith(github.repository, 'apache/') }}
175+
212176 runs-on : macos-15
213177 env :
214178 INSTALL_PREFIX : /tmp/deps-install
0 commit comments