Skip to content

feat: Java bindings moved from Velox4J #22

feat: Java bindings moved from Velox4J

feat: Java bindings moved from Velox4J #22

Workflow file for this run

# Copyright (c) Facebook, Inc. and its affiliates.
#
# Licensed 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: Java Bindings - Build
on:
workflow_dispatch: {}
pull_request:
types: [opened, reopened, synchronize]
paths:
- velox/**
- '!velox/docs/**'
- CMakeLists.txt
- CMake/**
- scripts/setup-ubuntu.sh
- scripts/setup-common.sh
- scripts/setup-versions.sh
- scripts/setup-helper-functions.sh
- .github/workflows/linux-build.yml
- .github/workflows/linux-build-base.yml
- java/velox4j/**
- .github/workflows/java-build.yml
push:
branches:
- main
paths:
- velox/**
- '!velox/docs/**'
- CMakeLists.txt
- CMake/**
- scripts/setup-ubuntu.sh
- scripts/setup-common.sh
- scripts/setup-versions.sh
- scripts/setup-helper-functions.sh
- .github/workflows/linux-build.yml
- .github/workflows/linux-build-base.yml
- java/velox4j/**
- .github/workflows/java-build.yml
concurrency:
group: ${{ github.repository }}-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: read
jobs:
ut-ubuntu24:
strategy:
matrix:
runner: [ubuntu-latest, ubuntu-24.04-arm]
exclude:
- runner: ubuntu-24.04-arm # TODO: Enable the CI on arm64 runners and remove this exclusion.
runs-on: ${{ matrix.runner }}
env:
HOST_CCACHE_DIR: "${{ github.workspace }}/.ccache"
CCACHE_MAXSIZE: 3000M
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: Restore Ccache
uses: apache/infrastructure-actions/stash/restore@3354c1565d4b0e335b78a76aedd82153a9e144d4
with:
clean: true
path: '${{ env.HOST_CCACHE_DIR }}'
key: java-ut-java-ut-ubuntu24
- name: Run setup script / Build and run UTs
run: |
docker run -v ${{ github.workspace }}:/velox -w / ubuntu:24.04 bash -c "
export CCACHE_DIR=/velox/.ccache
export CCACHE_MAXSIZE=3000M
cd /velox/java/velox4j
bash scripts/gha/ut-java/setup-ubuntu24.sh
mvn clean test
"
- name: Save Ccache
uses: apache/infrastructure-actions/stash/save@3354c1565d4b0e335b78a76aedd82153a9e144d4
with:
path: '${{ env.HOST_CCACHE_DIR }}'
key: java-ut-java-ut-ubuntu24
ut-centos7:
runs-on: ubuntu-latest
env:
HOST_CCACHE_DIR: "${{ github.workspace }}/.ccache"
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: Restore Ccache
uses: apache/infrastructure-actions/stash/restore@3354c1565d4b0e335b78a76aedd82153a9e144d4
with:
clean: true
path: '${{ env.HOST_CCACHE_DIR }}'
key: java-ut-java-ut-centos7-ccache
- name: Run setup script / Build and run UTs
run: |
docker run -v ${{ github.workspace }}:/velox -w / centos:7 bash -c "
export CCACHE_DIR=/velox/.ccache
export CCACHE_MAXSIZE=3000M
cd /velox/java/velox4j
bash scripts/gha/ut-java/setup-centos7.sh
mvn clean test
"
- name: Save Ccache
uses: apache/infrastructure-actions/stash/save@3354c1565d4b0e335b78a76aedd82153a9e144d4
with:
path: '${{ env.HOST_CCACHE_DIR }}'
key: java-ut-java-ut-centos7-ccache