Skip to content

Commit

Permalink
separate java builds
Browse files Browse the repository at this point in the history
  • Loading branch information
LuQQiu committed Jun 9, 2024
1 parent d516416 commit 1420c3a
Show file tree
Hide file tree
Showing 3 changed files with 107 additions and 28 deletions.
55 changes: 55 additions & 0 deletions .github/workflows/java_11.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: Build and Run Java 11 JNI Tests
on:
push:
branches:
- main
pull_request:
paths:
- java/**
- rust/**
- .github/workflows/java_11.yml
env:
# This env var is used by Swatinem/rust-cache@v2 for the cache
# key, so we set it to make sure it is always consistent.
CARGO_TERM_COLOR: always
# Disable full debug symbol generation to speed up CI build and keep memory down
# "1" means line tables only, which is useful for panic tracebacks.
RUSTFLAGS: "-C debuginfo=1"
RUST_BACKTRACE: "1"
# according to: https://matklad.github.io/2021/09/04/fast-rust-builds.html
# CI builds are faster with incremental disabled.
CARGO_INCREMENTAL: "0"
CARGO_BUILD_JOBS: "1"
jobs:
linux-build:
runs-on: ubuntu-22.04
name: ubuntu-22.04 + Java 11
defaults:
run:
working-directory: ./java
steps:
- name: Checkout repository
uses: actions/checkout@v4
- uses: Swatinem/rust-cache@v2
with:
workspaces: java/java-jni
- name: Run cargo fmt
run: cargo fmt --check
working-directory: ./java/core/lance-jni
- name: Install dependencies
run: |
sudo apt update
sudo apt install -y protobuf-compiler libssl-dev
- name: Install Java 11
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 11
cache: "maven"
- name: Java Style Check
run: mvn checkstyle:check
- name: Rust Clippy
working-directory: java/core/lance-jni
run: cargo clippy --all-targets -- -D warnings
- name: Running tests with Java 11
run: mvn clean test
31 changes: 3 additions & 28 deletions .github/workflows/java.yml → .github/workflows/java_17.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Build and Run Java JNI Tests
name: Build and Run Java 17 JNI Tests
on:
push:
branches:
Expand All @@ -7,7 +7,7 @@ on:
paths:
- java/**
- rust/**
- .github/workflows/java.yml
- .github/workflows/java_17.yml
env:
# This env var is used by Swatinem/rust-cache@v2 for the cache
# key, so we set it to make sure it is always consistent.
Expand All @@ -23,7 +23,7 @@ env:
jobs:
linux-build:
runs-on: ubuntu-22.04
name: ubuntu-22.04 + Java 11 & 17
name: ubuntu-22.04 + Java 17
defaults:
run:
working-directory: ./java
Expand All @@ -33,9 +33,6 @@ jobs:
- uses: Swatinem/rust-cache@v2
with:
workspaces: java/java-jni
- name: Run cargo fmt
run: cargo fmt --check
working-directory: ./java/core/lance-jni
- name: Install dependencies
run: |
sudo apt update
Expand All @@ -47,28 +44,6 @@ jobs:
java-version: 17
cache: "maven"
- run: echo "JAVA_17=$JAVA_HOME" >> $GITHUB_ENV
- name: Install Java 8
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 8
cache: "maven"
- run: echo "JAVA_8=$JAVA_HOME" >> $GITHUB_ENV
- name: Install Java 11
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 11
cache: "maven"
- name: Java Style Check
run: mvn checkstyle:check
- name: Rust Clippy
working-directory: java/core/lance-jni
run: cargo clippy --all-targets -- -D warnings
- name: Running tests with Java 11
run: mvn clean test
- name: Running tests with Java 8
run: JAVA_HOME=$JAVA_8 mvn clean test
- name: Running tests with Java 17
run: |
export JAVA_TOOL_OPTIONS="$JAVA_TOOL_OPTIONS \
Expand Down
49 changes: 49 additions & 0 deletions .github/workflows/java_8.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: Build and Run Java 8 JNI Tests
on:
push:
branches:
- main
pull_request:
paths:
- java/**
- rust/**
- .github/workflows/java_8.yml
env:
# This env var is used by Swatinem/rust-cache@v2 for the cache
# key, so we set it to make sure it is always consistent.
CARGO_TERM_COLOR: always
# Disable full debug symbol generation to speed up CI build and keep memory down
# "1" means line tables only, which is useful for panic tracebacks.
RUSTFLAGS: "-C debuginfo=1"
RUST_BACKTRACE: "1"
# according to: https://matklad.github.io/2021/09/04/fast-rust-builds.html
# CI builds are faster with incremental disabled.
CARGO_INCREMENTAL: "0"
CARGO_BUILD_JOBS: "1"
jobs:
linux-build:
runs-on: ubuntu-22.04
name: ubuntu-22.04 + Java 8
defaults:
run:
working-directory: ./java
steps:
- name: Checkout repository
uses: actions/checkout@v4
- uses: Swatinem/rust-cache@v2
with:
workspaces: java/java-jni
- name: Install dependencies
run: |
sudo apt update
sudo apt install -y protobuf-compiler libssl-dev
- name: Install Java 8
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 8
cache: "maven"
- run: echo "JAVA_8=$JAVA_HOME" >> $GITHUB_ENV
- name: Running tests with Java 8
run: JAVA_HOME=$JAVA_8 mvn clean test

0 comments on commit 1420c3a

Please sign in to comment.