diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..f199f0b --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,64 @@ +name: Build +on: [push, pull_request] + +jobs: + android: + name: Android Build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Setup JDK 17 + uses: actions/setup-java@v3 + with: + java-version: '17' + distribution: 'temurin' + cache: gradle + - name: Setup build + run: | + cargo install cargo-ndk + rustup target add aarch64-linux-android + rustup target add armv7-linux-androideabi + rustup target add x86_64-linux-android + - name: Setup Java build + run: | + chmod +x android/gradlew + echo "${{ secrets.ANDROID_RELEASE_KEYSTORE }}" > release.keystore.asc + gpg -d --passphrase "${{ secrets.ANDROID_RELEASE_SECRET }}" --batch release.keystore.asc > android/keystore + echo -e "storePassword=${{ secrets.ANDROID_PASS }}\nkeyPassword=${{ secrets.ANDROID_PASS }}\nkeyAlias=grim\nstoreFile=../keystore" > android/keystore.properties + - name: Build lib 1/2 + continue-on-error: true + run: | + sed -i -e 's/"rlib"/"cdylib","rlib"/g' Cargo.toml + export CPPFLAGS="-DMDB_USE_ROBUST=0" && export CFLAGS="-DMDB_USE_ROBUST=0" && cargo ndk -t arm64-v8a build --profile release-apk + - name: Build lib 2/2 + run: | + unset CPPFLAGS && unset CFLAGS && cargo ndk -t arm64-v8a -o android/app/src/main/jniLibs build --profile release-apk + sed -i -e 's/"cdylib","rlib"/"rlib"/g' Cargo.toml + - name: Build APK + working-directory: android + run: | + ./gradlew assembleRelease + + linux: + name: Linux Build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Release build + run: cargo build --release + + windows: + name: Windows Build + runs-on: windows-latest + steps: + - uses: actions/checkout@v4 + - name: Release build + run: cargo build --release + + macos: + name: MacOS Build + runs-on: macos-latest + steps: + - uses: actions/checkout@v4 + - name: Release build + run: cargo build --release diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 85ff2f6..0436d10 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -63,6 +63,7 @@ jobs: working-directory: android run: | rm -rf app/build + rm -rf app/src/main/jniLibs/* ./gradlew assembleRelease mv app/build/outputs/apk/release/app-release.apk grim-${{ github.ref_name }}-android-armv7.apk - name: Checksum APK ARMv7 @@ -82,6 +83,7 @@ jobs: working-directory: android run: | rm -rf app/build + rm -rf app/src/main/jniLibs/* ./gradlew assembleRelease mv app/build/outputs/apk/release/app-release.apk grim-${{ github.ref_name }}-android-x86_64.apk - name: Checksum APK x86