Skip to content

Commit 530b651

Browse files
committed
Use devtoolset-12 for Linux glibc builds
This PR brings in the build changes from mainline duckdb/duckdb#17776 fix. Additionally it enabled test runs on `ubuntu-latest` along with existing EL8 runs.
1 parent 3ede02b commit 530b651

1 file changed

Lines changed: 68 additions & 14 deletions

File tree

.github/workflows/Java.yml

Lines changed: 68 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ jobs:
3131
needs: format-check
3232
env:
3333
MANYLINUX_IMAGE: quay.io/pypa/manylinux_2_28_x86_64
34-
MANYLINUX_PACKAGES: java-1.8.0-openjdk-devel ninja-build
3534
steps:
3635
- uses: actions/checkout@v4
3736
with:
@@ -45,18 +44,46 @@ jobs:
4544
-e GEN=ninja \
4645
-e JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk \
4746
${{ env.MANYLINUX_IMAGE }} \
48-
bash -c 'dnf install ${{ env.MANYLINUX_PACKAGES }} -y && make -C /duckdb release'
49-
50-
- name: JDBC Tests
47+
bash -c "
48+
set -e
49+
cat /etc/os-release
50+
dnf install -y \
51+
java-1.8.0-openjdk-devel \
52+
ninja-build \
53+
gcc-toolset-12-gcc-c++
54+
source /opt/rh/gcc-toolset-12/enable
55+
make -C /duckdb release
56+
"
57+
58+
- name: JDBC Tests EL8
5159
shell: bash
5260
if: ${{ inputs.skip_tests != 'true' }}
5361
run: |
5462
docker run \
5563
-v.:/duckdb \
56-
-e GEN=ninja \
57-
-e JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk \
5864
${{ env.MANYLINUX_IMAGE }} \
59-
bash -c 'dnf install ${{ env.MANYLINUX_PACKAGES }} -y && make -C /duckdb test'
65+
bash -c "
66+
set -e
67+
cat /etc/os-release
68+
dnf install -y \
69+
java-1.8.0-openjdk
70+
/usr/lib/jvm/jre-1.8.0-openjdk/bin/java -version
71+
cd /duckdb
72+
/usr/lib/jvm/jre-1.8.0-openjdk/bin/java \
73+
-cp ./build/release/duckdb_jdbc_tests.jar:./build/release/duckdb_jdbc.jar \
74+
org.duckdb.TestDuckDBJDBC
75+
rm ./test1.db
76+
"
77+
78+
- name: JDBC Tests
79+
shell: bash
80+
if: ${{ inputs.skip_tests != 'true' }}
81+
run: |
82+
cat /etc/os-release
83+
${JAVA_HOME_21_X64}/bin/java -version
84+
${JAVA_HOME_21_X64}/bin/java \
85+
-cp ./build/release/duckdb_jdbc_tests.jar:./build/release/duckdb_jdbc.jar \
86+
org.duckdb.TestDuckDBJDBC
6087
6188
- name: Deploy
6289
shell: bash
@@ -76,7 +103,6 @@ jobs:
76103
needs: java-linux-amd64
77104
env:
78105
MANYLINUX_IMAGE: quay.io/pypa/manylinux_2_28_aarch64
79-
MANYLINUX_PACKAGES: java-1.8.0-openjdk-devel ninja-build
80106
steps:
81107
- uses: actions/checkout@v4
82108
with:
@@ -90,18 +116,46 @@ jobs:
90116
-e GEN=ninja \
91117
-e JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk \
92118
${{ env.MANYLINUX_IMAGE }} \
93-
bash -c 'dnf install ${{ env.MANYLINUX_PACKAGES }} -y && make -C /duckdb release'
94-
95-
- name: JDBC Tests
119+
bash -c "
120+
set -e
121+
cat /etc/os-release
122+
dnf install -y \
123+
java-1.8.0-openjdk-devel \
124+
ninja-build \
125+
gcc-toolset-12-gcc-c++
126+
source /opt/rh/gcc-toolset-12/enable
127+
make -C /duckdb release
128+
"
129+
130+
- name: JDBC Tests EL8
96131
shell: bash
97132
if: ${{ inputs.skip_tests != 'true' }}
98133
run: |
99134
docker run \
100135
-v.:/duckdb \
101-
-e GEN=ninja \
102-
-e JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk \
103136
${{ env.MANYLINUX_IMAGE }} \
104-
bash -c 'dnf install ${{ env.MANYLINUX_PACKAGES }} -y && make -C /duckdb test'
137+
bash -c "
138+
set -e
139+
cat /etc/os-release
140+
dnf install -y \
141+
java-1.8.0-openjdk
142+
/usr/lib/jvm/jre-1.8.0-openjdk/bin/java -version
143+
cd /duckdb
144+
/usr/lib/jvm/jre-1.8.0-openjdk/bin/java \
145+
-cp ./build/release/duckdb_jdbc_tests.jar:./build/release/duckdb_jdbc.jar \
146+
org.duckdb.TestDuckDBJDBC
147+
rm ./test1.db
148+
"
149+
150+
- name: JDBC Tests
151+
shell: bash
152+
if: ${{ inputs.skip_tests != 'true' }}
153+
run: |
154+
cat /etc/os-release
155+
${JAVA_HOME_21_X64}/bin/java -version
156+
${JAVA_HOME_21_X64}/bin/java \
157+
-cp ./build/release/duckdb_jdbc_tests.jar:./build/release/duckdb_jdbc.jar \
158+
org.duckdb.TestDuckDBJDBC
105159
106160
- name: Deploy
107161
shell: bash

0 commit comments

Comments
 (0)