Skip to content

GH-13: Set up JNI build (dataset, etc.) #3

GH-13: Set up JNI build (dataset, etc.)

GH-13: Set up JNI build (dataset, etc.) #3

Workflow file for this run

# 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.
name: Test (JNI)
on:
push:
branches:
- '**'
- '!dependabot/**'
tags:
- '**'
pull_request:
concurrency:
group: ${{ github.repository }}-${{ github.head_ref || github.sha }}-${{ github.workflow }}
cancel-in-progress: true
permissions:
contents: read
env:
DOCKER_VOLUME_PREFIX: ".docker/"
jobs:
cpp-ubuntu:
name: Build C++ libraries ${{ matrix.platform.runs_on }} ${{ matrix.platform.arch }}
runs-on: ${{ matrix.platform.runs_on }}
strategy:
fail-fast: false
matrix:
platform:
- runs_on: ubuntu-latest
arch: "x86_64"
archery_arch: "amd64"
archery_arch_alias: "x86_64"
archery_arch_short: "amd64"
env:
# architecture name used for archery build
ARCH: ${{ matrix.platform.archery_arch }}
ARCH_ALIAS: ${{ matrix.platform.archery_arch_alias }}
ARCH_SHORT: ${{ matrix.platform.archery_arch_short }}
steps:
- name: Checkout apache/arrow-java
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
fetch-depth: 0
submodules: recursive
- name: Checkout apache/arrow
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
repository: apache/arrow
fetch-depth: 0
path: arrow
submodules: recursive
- name: Build C++ libraries
env:
VCPKG_BINARY_SOURCES: "clear;nuget,GitHub,readwrite"
run: |
docker compose run vcpkg-jni
- name: Compress into single artifact to keep directory structure
run: tar -cvzf arrow-shared-libs-linux-${{ matrix.platform.arch }}.tar.gz dist/
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: ubuntu-shared-lib-${{ matrix.platform.arch }}
path: arrow-shared-libs-linux-${{ matrix.platform.arch }}.tar.gz