@@ -35,45 +35,13 @@ 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
7139 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 :
8755 run : |
8856 yum update -y
8957 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
58+ if [ "${{ matrix.os }}" = "quay.io/centos/centos:stream9" ]; then
10159 dnf install -y --setopt=install_weak_deps=False gcc-toolset-12
10260 source /opt/rh/gcc-toolset-12/enable || exit 1
10361 else
@@ -107,15 +65,15 @@ jobs:
10765 yum install -y java-1.8.0-openjdk-devel patch wget git perl
10866 export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk && \
10967 export PATH=$JAVA_HOME/bin:$PATH
110-
68+ export VELOX_BUILD_SHARED=ON
11169 cd $GITHUB_WORKSPACE/ && ./dev/package.sh --spark_version=3.5
11270
11371 build-on-ubuntu :
11472 strategy :
11573 fail-fast : false
11674 matrix :
117- os : [ "ubuntu:22.04" ] # skip "ubuntu:20.04" due to not enough disk space
118- if : ${{ startsWith(github.repository, 'apache/') }}
75+ os : [ "ubuntu:22.04" ]
76+
11977 runs-on : ubuntu-22.04
12078 container : ${{ matrix.os }}
12179 steps :
@@ -126,34 +84,42 @@ jobs:
12684 # To avoid the prompt for region selection during installing tzdata.
12785 export DEBIAN_FRONTEND=noninteractive
12886 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
87+ sudo apt update && sudo apt install -y gcc-12 g++-12 build-essential cmake
88+ export CC=/usr/bin/gcc-12
89+ export CXX=/usr/bin/g++-12
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+ sudo 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
111+ rm -rf /tmp/*
147112 sudo apt-get install -y openjdk-8-jdk python3-pip cmake
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
151117 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 :
@@ -182,7 +148,7 @@ jobs:
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 :
@@ -208,7 +174,7 @@ jobs:
208174 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