upgrade action versions (#72) #38
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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@v3 | |
- 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@v3 | |
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@v3 | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v3 | |
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 }} |