diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b25f12d..34b1561 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -74,11 +74,11 @@ jobs: name: datafusion-jni-ubuntu-latest path: datafusion-jni/target/release -# - name: Download windows artifacts -# uses: actions/download-artifact@v3 -# with: -# name: datafusion-jni-windows-latest -# path: datafusion-jni/target/release + # - name: Download windows artifacts + # uses: actions/download-artifact@v3 + # with: + # name: datafusion-jni-windows-latest + # path: datafusion-jni/target/release - name: Download macos artifacts uses: actions/download-artifact@v3 @@ -96,9 +96,3 @@ jobs: if-no-files-found: error path: ~/.m2/repository/io/github/datafusion-contrib/datafusion-java retention-days: 3 - - - name: Publish to Sonatype - run: ./gradlew publish - env: - MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} - MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ae9a377..b6eaf58 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,26 +1,91 @@ -name: Publish package to GitHub Packages +name: Release on: release: types: [ created ] - + push: + branches: [ main ] jobs: - publish: - runs-on: ubuntu-latest + rust: + strategy: + matrix: + os: [ "ubuntu-latest", "macos-latest" ] + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v2 - permissions: - contents: read - packages: write + - name: Set up JDK 11 + uses: actions/setup-java@v2 + with: + java-version: "11" + 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 + path: "datafusion-jni\\target\\release\\libdatafusion_jni.dll" + retention-days: 3 + + java: + needs: + - rust + runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - - uses: actions/setup-java@v2 + + - name: Set up JDK 11 + uses: actions/setup-java@v2 with: - java-version: "11" + java-version: 11 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-jni/target/release + + # - name: Download windows artifacts + # uses: actions/download-artifact@v3 + # with: + # name: datafusion-jni-windows-latest + # path: datafusion-jni/target/release + + - name: Download macos artifacts + uses: actions/download-artifact@v3 + with: + name: datafusion-jni-macos-latest + path: datafusion-jni/target/release + - name: Publish to Sonatype run: ./gradlew publish env: