Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 17 additions & 5 deletions .github/workflows/java.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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 }}
Expand All @@ -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 }}
Expand Down
28 changes: 0 additions & 28 deletions ci/docker/debian-9-java.dockerfile

This file was deleted.

6 changes: 4 additions & 2 deletions ci/docker/linux-apt-jni.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
32 changes: 19 additions & 13 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down Expand Up @@ -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
Expand All @@ -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:
Expand All @@ -1488,6 +1482,18 @@ services:
/arrow/ci/scripts/java_build.sh /arrow /build &&
/arrow/ci/scripts/java_test.sh /arrow /build"

oracle-java:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How is this different from debian-java? It seems to be based on the same base image.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the maven image for openjdk 17 is based on Oracle Linux instead of debian maven:3.8.5-openjdk-17:

$ docker run --rm maven:3.8.5-openjdk-17 cat /etc/system-release
Oracle Linux Server release 8.5

# 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:
Expand Down
2 changes: 1 addition & 1 deletion docs/source/developers/java/building.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down