This is an automated email from the ASF dual-hosted git repository.
kou pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/arrow.git
The following commit(s) were added to refs/heads/master by this push:
new 1fc251f18d ARROW-16327: [Java][CI] Add Java 17 to CI matrix for java
workflows
1fc251f18d is described below
commit 1fc251f18d5b48f0c9fe8af8168237e7e6d05a45
Author: Raúl Cumplido <[email protected]>
AuthorDate: Fri May 6 06:26:01 2022 +0900
ARROW-16327: [Java][CI] Add Java 17 to CI matrix for java workflows
This PR aims to add support for java 17 on CI as required on
https://github.com/apache/arrow/pull/12941
We probably should cherrypick the commit here on that PR.
Closes #13021 from raulcd/ARROW-16327
Authored-by: Raúl Cumplido <[email protected]>
Signed-off-by: Sutou Kouhei <[email protected]>
---
.github/workflows/java.yml | 22 +++++++++++++++++-----
ci/docker/debian-9-java.dockerfile | 28 ----------------------------
ci/docker/linux-apt-jni.dockerfile | 6 ++++--
docker-compose.yml | 32 +++++++++++++++++++-------------
docs/source/developers/java/building.rst | 2 +-
5 files changed, 41 insertions(+), 49 deletions(-)
diff --git a/.github/workflows/java.yml b/.github/workflows/java.yml
index 58d669e94b..b064ada54c 100644
--- a/.github/workflows/java.yml
+++ b/.github/workflows/java.yml
@@ -47,15 +47,27 @@ env:
jobs:
debian:
- name: AMD64 Debian 9 Java JDK ${{ matrix.jdk }} Maven ${{ matrix.maven }}
+ name: ${{ matrix.title }}
runs-on: ubuntu-latest
if: ${{ !contains(github.event.pull_request.title, 'WIP') }}
timeout-minutes: 30
strategy:
fail-fast: false
matrix:
- jdk: [11]
- maven: [3.6.2]
+ jdk: [8, 11, 17]
+ include:
+ - jdk: 8
+ title: AMD64 Debian 9 Java JDK 8 Maven 3.5.4
+ maven: 3.5.4
+ image: debian-java
+ - jdk: 11
+ title: AMD64 Debian 9 Java JDK 11 Maven 3.6.2
+ maven: 3.6.2
+ image: debian-java
+ - jdk: 17
+ title: AMD64 Oracle Linux Server 8.5 Java JDK 17 Maven 3.8.5
+ maven: 3.8.5
+ image: oracle-java
env:
JDK: ${{ matrix.jdk }}
MAVEN: ${{ matrix.maven }}
@@ -78,11 +90,11 @@ jobs:
- name: Setup Archery
run: pip install -e dev/archery[docker]
- name: Execute Docker Build
- run: archery docker run debian-java
+ run: archery docker run ${{ matrix.image }}
- name: Docker Push
if: success() && github.event_name == 'push' && github.repository ==
'apache/arrow'
continue-on-error: true
- run: archery docker push debian-java
+ run: archery docker push ${{ matrix.image }}
macos:
name: AMD64 MacOS 10.15 Java JDK ${{ matrix.jdk }}
diff --git a/ci/docker/debian-9-java.dockerfile
b/ci/docker/debian-9-java.dockerfile
deleted file mode 100644
index 2cc36e3eaf..0000000000
--- a/ci/docker/debian-9-java.dockerfile
+++ /dev/null
@@ -1,28 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-ARG arch=amd64
-ARG jdk=8
-ARG maven=3.5.4
-FROM ${arch}/maven:${maven}-jdk-${jdk}
-
-ENV ARROW_JAVA_SHADE_FLATBUFS=ON
-
-# TODO(kszucs):
-# 1. add the files required to install the dependencies to .dockerignore
-# 2. copy these files to their appropriate path
-# 3. download and compile the dependencies
diff --git a/ci/docker/linux-apt-jni.dockerfile
b/ci/docker/linux-apt-jni.dockerfile
index ddfa72e177..6673b001d7 100644
--- a/ci/docker/linux-apt-jni.dockerfile
+++ b/ci/docker/linux-apt-jni.dockerfile
@@ -15,8 +15,10 @@
# specific language governing permissions and limitations
# under the License.
-ARG base
-FROM ${base}
+ARG arch=amd64
+ARG jdk=8
+ARG maven=3.5.4
+FROM ${arch}/maven:${maven}-jdk-${jdk}
# pipefail is enabled for proper error detection in the `wget | apt-key add`
# step
diff --git a/docker-compose.yml b/docker-compose.yml
index 8cae9a5ce1..d7d5f6e3cf 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -119,11 +119,12 @@ x-hierarchy:
- debian-go:
- debian-go-cgo
- debian-go-cgo-python
- - debian-java:
- - debian-java-jni
+ - debian-java
+ - debian-java-jni
- debian-js
- fedora-cpp:
- fedora-python
+ - oracle-java
- python-sdist
- ubuntu-cpp:
- ubuntu-c-glib:
@@ -1440,16 +1441,10 @@ services:
# Usage:
# docker-compose build debian-java
# docker-compose run debian-java
- image: ${REPO}:${ARCH}-debian-9-java-${JDK}-maven-${MAVEN}
- build:
- context: .
- dockerfile: ci/docker/debian-9-java.dockerfile
- cache_from:
- - ${REPO}:${ARCH}-debian-9-java-${JDK}-maven-${MAVEN}
- args:
- arch: ${ARCH}
- jdk: ${JDK}
- maven: ${MAVEN}
+ # Parameters:
+ # MAVEN: 3.5.4, 3.6.2
+ # JDK: 8, 11
+ image: ${ARCH}/maven:${MAVEN}-jdk-${JDK}
shm_size: *shm-size
volumes: &java-volumes
- .:/arrow:delegated
@@ -1472,7 +1467,6 @@ services:
cache_from:
- ${REPO}:${ARCH}-debian-9-java-${JDK}-maven-${MAVEN}-jni
args:
- base: ${REPO}:${ARCH}-debian-9-java-${JDK}-maven-${MAVEN}
llvm: ${LLVM}
shm_size: *shm-size
environment:
@@ -1488,6 +1482,18 @@ services:
/arrow/ci/scripts/java_build.sh /arrow /build &&
/arrow/ci/scripts/java_test.sh /arrow /build"
+ oracle-java:
+ # Usage:
+ # docker-compose build oracle-java
+ # docker-compose run oracle-java
+ # Parameters:
+ # MAVEN: 3.8.5
+ # JDK: 17
+ image: ${ARCH}/maven:${MAVEN}-openjdk-${JDK}
+ shm_size: *shm-size
+ volumes: *java-volumes
+ command: *java-command
+
############################## Integration ##################################
conda-integration:
diff --git a/docs/source/developers/java/building.rst
b/docs/source/developers/java/building.rst
index d6d6f4e2d8..dcec13da52 100644
--- a/docs/source/developers/java/building.rst
+++ b/docs/source/developers/java/building.rst
@@ -32,7 +32,7 @@ Arrow Java uses the `Maven <https://maven.apache.org/>`_
build system.
Building requires:
-* JDK 8, 9, 10, 11, 17, or 18, but only JDK 11 is tested in CI.
+* JDK 8, 9, 10, 11, 17, or 18, but only JDK 8, 11 and 17 are tested in CI.
* Maven 3+
Building