diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6fe62f0..6f41aa0 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -133,58 +133,3 @@ jobs: - name: Java tests run: gradle test working-directory: ./java - - android: - name: Build on Linux for Android - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v4 - - - name: Install Rust - uses: dtolnay/rust-toolchain@stable - with: - targets: aarch64-linux-android armv7-linux-androideabi i686-linux-android x86_64-linux-android - - - name: Set up Cargo Cache - uses: Swatinem/rust-cache@v2 - with: - save-if: false - - - name: Run tests - run: cargo test --workspace --verbose - - - name: Build Release - run: cargo build --verbose --release - - - name: Install JDK - uses: actions/setup-java@v4.2.1 - with: - distribution: "temurin" - java-version: "22" - - - name: Set up Gradle - uses: gradle/actions/setup-gradle@v3 - - - name: Java tests - run: gradle test - working-directory: ./java - - # Upload fs-storage JNI libs - - name: Install cargo-ndk - run: cargo install cargo-ndk - - - name: Build fs-storage JNI libs - run: cargo ndk -o ./target/release/fs-storage/jniLibs --target aarch64-linux-android --target armv7-linux-androideabi --target i686-linux-android --target x86_64-linux-android build -p fs-storage --release - - - name: Upload fs-storage JNI libs - uses: actions/upload-artifact@v4 - with: - name: fs-storage-jni-libs - path: ./target/release/fs-storage/jniLibs - - - name: Publish Java release - run: gradle publish - working-directory: ./java - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..95ad9df --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,62 @@ +name: Release + +on: + push: + tags: + - "*" + +jobs: + build: + runs-on: ubuntu-latest + permissions: + contents: write + steps: + - uses: actions/checkout@v4 + + - name: Install Rust + uses: dtolnay/rust-toolchain@stable + with: + targets: aarch64-linux-android armv7-linux-androideabi i686-linux-android x86_64-linux-android + + - name: Set up Cargo Cache + uses: Swatinem/rust-cache@v2 + with: + save-if: false + + - name: Run tests + run: cargo test --workspace --verbose + + - name: Build Release + run: cargo build --verbose --release + + - name: Install JDK + uses: actions/setup-java@v4.2.1 + with: + distribution: "temurin" + java-version: "22" + + - name: Set up Gradle + uses: gradle/actions/setup-gradle@v3 + + - name: Java tests + run: gradle test + working-directory: ./java + + # Upload fs-storage JNI libs + - name: Install cargo-ndk + run: cargo install cargo-ndk + + - name: Build fs-storage JNI libs + run: cargo ndk -o ./target/release/fs-storage/jniLibs --target aarch64-linux-android --target armv7-linux-androideabi --target i686-linux-android --target x86_64-linux-android build -p fs-storage --release + + - name: Create JNI libs release + - uses: ncipollo/release-action@v1 + with: + makeLatest: true + artifacts: "./target/release/fs-storage/jniLibs" + + - name: Publish Java release + run: gradle publish + working-directory: ./java + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}