Skip to content

Make patching fail if there are changes to any dataset #194

Make patching fail if there are changes to any dataset

Make patching fail if there are changes to any dataset #194

Workflow file for this run

name: java
on:
pull_request:
types: [ opened, synchronize ]
jobs:
build-test-java-linux-64:
runs-on: ubuntu-20.04
steps:
- name: Check out repository code
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # [email protected]
- name: Install pixi
run: curl -fsSL https://pixi.sh/install.sh | bash && echo "${HOME}/.pixi/bin" >> $GITHUB_PATH
- name: Cache
uses: actions/cache@v3
with:
key: ${{ runner.os }}-${{ hashFiles('pixi.lock', 'Cargo.lock') }}-build-test-java-linux-64
path: |
~/.cargo
target
.pixi
- name: Test Java
run: pixi run test-java
- name: Copy native lib
run: |
mkdir -p native/linux-64
cp target/release/libvegafusion_jni.so native/linux-64
- name: Upload artifacts
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # [email protected]
with:
name: jni-native
path: |
native
build-test-java-osx-64:
runs-on: macos-11
steps:
- name: Check out repository code
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # [email protected]
- name: Install pixi
run: curl -fsSL https://pixi.sh/install.sh | bash && echo "${HOME}/.pixi/bin" >> $GITHUB_PATH
- name: Cache
uses: actions/cache@v3
with:
key: ${{ runner.os }}-${{ hashFiles('pixi.lock', 'Cargo.lock') }}-build-test-java-osx-64
path: |
~/.cargo
target
.pixi
- name: Test Java
run: pixi run test-java
- name: Copy native lib
run: |
mkdir -p native/osx-64
cp target/release/libvegafusion_jni.dylib native/osx-64
- name: Upload artifacts
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # [email protected]
with:
name: jni-native
path: |
native
build-java-osx-arm64:
runs-on: macos-11
steps:
- name: Check out repository code
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # [email protected]
- name: Install pixi
run: curl -fsSL https://pixi.sh/install.sh | bash && echo "${HOME}/.pixi/bin" >> $GITHUB_PATH
- name: Cache
uses: actions/cache@v3
with:
key: ${{ runner.os }}-${{ hashFiles('pixi.lock', 'Cargo.lock') }}-build-java-osx-arm64
path: |
~/.cargo
target
.pixi
- name: Build jni library
run: |
pixi run python automation/download_rust_target.py aarch64-apple-darwin
pixi run build-jni --target aarch64-apple-darwin
- name: Copy native lib
run: |
mkdir -p native/osx-arm64
cp target/aarch64-apple-darwin/release/libvegafusion_jni.dylib native/osx-arm64
- name: Upload artifacts
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # [email protected]
with:
name: jni-native
path: |
native
build-test-java-win-64:
runs-on: windows-2022
steps:
- name: Check out repository code
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # [email protected]
- name: Install pixi
run: |
iwr -useb https://pixi.sh/install.ps1 | iex
echo "${HOME}/AppData/Local/pixi/bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
- name: Cache
uses: actions/cache@v3
with:
key: ${{ runner.os }}-${{ hashFiles('pixi.lock', 'Cargo.lock') }}-build-test-java-win-64
path: |
~/.cargo
target
.pixi
- name: Test Java
run: pixi run test-java-win
- name: Copy native lib
run: |
mkdir -p native/win-64
cp target/release/vegafusion_jni.dll native/win-64
- name: Upload artifacts
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # [email protected]
with:
name: jni-native
path: |
native
build-jar:
runs-on: ubuntu-20.04
needs:
- build-test-java-linux-64
- build-test-java-osx-64
- build-java-osx-arm64
- build-test-java-win-64
steps:
- name: Check out repository code
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # [email protected]
- name: Install pixi
run: curl -fsSL https://pixi.sh/install.sh | bash && echo "${HOME}/.pixi/bin" >> $GITHUB_PATH
- name: Cache
uses: actions/cache@v3
with:
key: ${{ runner.os }}-${{ hashFiles('pixi.lock', 'Cargo.lock') }}-build-jar
path: |
.pixi
- name: Download jni libs
uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a # [email protected]
with:
name: jni-native
path: jni-native
- name: Build jar
run: |
export VEGAFUSION_JNI_LIBRARIES=/home/runner/work/vegafusion/vegafusion/jni-native
pixi run build-jar
- name: Upload jar
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # [email protected]
with:
name: jar
path: |
java/lib/build/libs/vegafusion-*.jar
try-jar:
strategy:
fail-fast: false
matrix:
os:
- ubuntu-20.04
- macos-11
- windows-2022
runs-on: ${{ matrix.os }}
needs: [ build-jar ]
steps:
- name: Install Java
uses: actions/setup-java@5ffc13f4174014e2d4d4572b3d74c3fa61aeb2c2 # pin@v3
with:
distribution: 'temurin'
java-version: '17'
- name: Download jar
uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a # [email protected]
with:
name: jar
path: .
- name: Run jar (non-Windows)
if: ${{ runner.os != 'Windows' }}
run: |
java -jar vegafusion-*.jar
- name: Run jar (Windows)
if: ${{ runner.os == 'Windows' }}
run: |
$jarFile = Get-ChildItem -Path .\ -Filter "vegafusion-*.jar" | Select-Object -First 1
java -jar $jarFile