Skip to content

release 0.13 (#71)

release 0.13 (#71) #37

Workflow file for this run

name: Release
on:
release:
types: [created]
push:
branches: [main]
jobs:
rust:
strategy:
matrix:
os: ["ubuntu-latest", "macos-latest", "windows-latest"]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
- name: Stable with rustfmt and clippy
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
components: rustfmt, clippy
- name: Set up JDK 17
uses: actions/setup-java@v2
with:
java-version: "17"
distribution: "temurin"
- name: Validate Gradle wrapper
uses: gradle/wrapper-validation-action@v1
- name: Cargo build
run: ./gradlew cargoReleaseBuild
- name: Upload built artifacts
uses: actions/upload-artifact@v3
if: matrix.os == 'macos-latest'
with:
name: datafusion-jni-${{ matrix.os }}
if-no-files-found: error
path: "datafusion-jni/target/release/libdatafusion_jni.dylib"
retention-days: 3
- name: Upload built artifacts
uses: actions/upload-artifact@v3
if: matrix.os == 'ubuntu-latest'
with:
name: datafusion-jni-${{ matrix.os }}
if-no-files-found: error
path: "datafusion-jni/target/release/libdatafusion_jni.so"
retention-days: 3
- name: Upload built artifacts
uses: actions/upload-artifact@v3
if: matrix.os == 'windows-latest'
with:
name: datafusion-jni-${{ matrix.os }}
if-no-files-found: error
# note no "lib"
path: "datafusion-jni\\target\\release\\datafusion_jni.dll"
retention-days: 3
java:
needs:
- rust
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up JDK 17
uses: actions/setup-java@v2
with:
java-version: 17
distribution: "temurin"
- name: Validate Gradle wrapper
uses: gradle/wrapper-validation-action@v1
- name: Download ubuntu artifacts
uses: actions/download-artifact@v3
with:
name: datafusion-jni-ubuntu-latest
path: datafusion-java/build/jni_libs/linux-x86_64
- name: Download windows artifacts
uses: actions/download-artifact@v3
with:
name: datafusion-jni-windows-latest
path: datafusion-java/build/jni_libs/windows-x86_64
- name: Download macos artifacts
uses: actions/download-artifact@v3
with:
name: datafusion-jni-macos-latest
path: datafusion-java/build/jni_libs/osx-x86_64
- name: List downloaded artifacts
run: tree datafusion-java/build/jni_libs
- name: Publish to Sonatype
run: ./gradlew publish
env:
MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }}
ORG_GRADLE_PROJECT_signingKeyId: ${{ secrets.SIGNING_KEY_ID }}
ORG_GRADLE_PROJECT_signingKey: ${{ secrets.SIGNING_KEY }}
ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.SIGNING_PASSWORD }}