Skip to content

Commit 5ba80f7

Browse files
committed
apacheGH-13: Set up JNI build (dataset, etc.)
Fixes apache#13.
1 parent d650aa0 commit 5ba80f7

File tree

1 file changed

+84
-0
lines changed

1 file changed

+84
-0
lines changed

.github/workflows/test_jni.yml

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
# Licensed to the Apache Software Foundation (ASF) under one
2+
# or more contributor license agreements. See the NOTICE file
3+
# distributed with this work for additional information
4+
# regarding copyright ownership. The ASF licenses this file
5+
# to you under the Apache License, Version 2.0 (the
6+
# "License"); you may not use this file except in compliance
7+
# with the License. You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing,
12+
# software distributed under the License is distributed on an
13+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14+
# KIND, either express or implied. See the License for the
15+
# specific language governing permissions and limitations
16+
# under the License.
17+
18+
name: Test (JNI)
19+
20+
on:
21+
push:
22+
branches:
23+
- '**'
24+
- '!dependabot/**'
25+
tags:
26+
- '**'
27+
pull_request:
28+
29+
concurrency:
30+
group: ${{ github.repository }}-${{ github.head_ref || github.sha }}-${{ github.workflow }}
31+
cancel-in-progress: true
32+
33+
permissions:
34+
contents: read
35+
36+
env:
37+
DOCKER_VOLUME_PREFIX: ".docker/"
38+
39+
jobs:
40+
cpp-ubuntu:
41+
name: Build C++ libraries ${{ matrix.platform.runs_on }} ${{ matrix.platform.arch }}
42+
runs-on: ${{ matrix.platform.runs_on }}
43+
strategy:
44+
fail-fast: false
45+
matrix:
46+
platform:
47+
- runs_on: ["ubuntu-latest"]
48+
arch: "x86_64"
49+
archery_arch: "amd64"
50+
archery_arch_alias: "x86_64"
51+
archery_arch_short: "amd64"
52+
env:
53+
# architecture name used for archery build
54+
ARCH: ${{ matrix.platform.archery_arch }}
55+
ARCH_ALIAS: ${{ matrix.platform.archery_arch_alias }}
56+
ARCH_SHORT: ${{ matrix.platform.archery_arch_short }}
57+
steps:
58+
- name: Setup Python
59+
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0
60+
with:
61+
python-version: 3.12
62+
- name: Checkout Arrow
63+
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
64+
with:
65+
repository: apache/arrow
66+
path: arrow
67+
- name: Setup Archery
68+
run: pip install -e arrow/dev/archery[docker]
69+
- name: Build C++ libraries
70+
env:
71+
VCPKG_BINARY_SOURCES: "clear;nuget,GitHub,readwrite"
72+
run: |
73+
cd arrow
74+
archery docker run \
75+
-e ARROW_JAVA_BUILD=OFF \
76+
-e ARROW_JAVA_TEST=OFF \
77+
java-jni-manylinux-2014
78+
- name: Compress into single artifact to keep directory structure
79+
run: tar -cvzf arrow-shared-libs-linux-${{ matrix.platform.arch }}.tar.gz arrow/java-dist/
80+
- name: Upload artifacts
81+
uses: actions/upload-artifact@v4
82+
with:
83+
name: ubuntu-shared-lib-${{ matrix.platform.arch }}
84+
path: arrow-shared-libs-linux-${{ matrix.platform.arch }}.tar.gz

0 commit comments

Comments
 (0)