ci: cache, local maven for android build and artifacts, fix telegram upload

Reviewed-on: https://code.gri.mw/GUI/grim/pulls/37
This commit is contained in:
ardocrat
2026-01-30 11:42:19 +00:00
parent dae59744b3
commit 94bae256af
11 changed files with 331 additions and 452 deletions
+13 -2
View File
@@ -6,6 +6,7 @@ on:
- "*"
branches-ignore:
- master
- ci
jobs:
build:
@@ -21,12 +22,22 @@ jobs:
sha=$(git rev-parse HEAD)
[[ "${{ github.sha }}" == "${sha}" ]] && test=false || test=true
echo "test=${test}" >> "$FORGEJO_OUTPUT"
- uses: actions/cache@v5
if: ${{ steps.check.outputs.test == 'true' }}
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- name: Build
if: ${{ steps.check.outputs.test == 'true' }}
run: cargo build --release
- name: Telegram Notify Channel
if: ${{ steps.check.outputs.test == 'true' && (success() || failure()) }}
uses: actions/telegram-notifier@ardocrat
uses: actions/telegram-notifier@main
with:
api_url: ${{ secrets.TELEGRAM_API_URL }}
token: ${{ secrets.TELEGRAM_BOT_TOKEN }}
@@ -35,7 +46,7 @@ jobs:
notify_fields: "actor,repository,workflow,branch,commit"
- name: Telegram Notify Group
if: ${{ steps.check.outputs.test == 'true' && (success() || failure()) }}
uses: actions/telegram-notifier@ardocrat
uses: actions/telegram-notifier@main
with:
api_url: ${{ secrets.TELEGRAM_API_URL }}
token: ${{ secrets.TELEGRAM_BOT_TOKEN }}
+25 -4
View File
@@ -13,6 +13,17 @@ jobs:
with:
submodules: recursive
- run: mkdir release
- name: Restore cargo cache
id: cache-cargo-restore
uses: actions/cache/restore@v5
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- name: Release Linux x86
run: cargo zigbuild --release --target x86_64-unknown-linux-gnu
- name: AppImage x86
@@ -25,6 +36,16 @@ jobs:
run: sha256sum grim-${{ inputs.version }}-linux-x86_64.AppImage > grim-${{ inputs.version }}-linux-x86_64-appimage-sha256sum.txt
- name: Release Linux ARM
run: cargo zigbuild --release --target aarch64-unknown-linux-gnu
- name: Save cargo cache
uses: actions/cache/save@v5
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ steps.cache-cargo-restore.outputs.cache-primary-key }}
- name: AppImage ARM
run: |
cp target/aarch64-unknown-linux-gnu/release/grim linux/Grim.AppDir/AppRun
@@ -33,7 +54,7 @@ jobs:
- name: Checksum AppImage ARM
working-directory: release
run: sha256sum grim-${{ inputs.version }}-linux-arm.AppImage > grim-${{ inputs.version }}-linux-arm-appimage-sha256sum.txt
- uses: actions/upload-artifact@v4
with:
name: release_linux
path: release/*
- name: Upload artifacts
run: |
tar -czf linux.tar.gz release
curl -v -u ${{ secrets.MAVEN_USER }}:${{ secrets.MAVEN_PASSWORD }} --upload-file linux.tar.gz ${{ secrets.MAVEN_HOST }}/repository/grim-ci-artifacts/linux.tar.gz
+26 -5
View File
@@ -13,10 +13,31 @@ jobs:
with:
submodules: recursive
- run: mkdir release
- name: Restore cargo cache
id: cache-cargo-restore
uses: actions/cache/restore@v5
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- name: Release MacOS Universal
run: |
cargo zigbuild --release --target universal2-apple-darwin
mv target/universal2-apple-darwin/release/grim macos/Grim.app/Contents/MacOS
cp target/universal2-apple-darwin/release/grim macos/Grim.app/Contents/MacOS
- name: Save cargo cache
uses: actions/cache/save@v5
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ steps.cache-cargo-restore.outputs.cache-primary-key }}
- name: Archive Universal
working-directory: macos
run: |
@@ -25,7 +46,7 @@ jobs:
- name: Checksum Release Universal
working-directory: release
run: sha256sum grim-${{ inputs.version }}-macos.zip > grim-${{ inputs.version }}-macos-sha256sum.txt
- uses: actions/upload-artifact@v4
with:
name: release_macos
path: release/*
- name: Upload artifacts
run: |
tar -czf macos.tar.gz release
curl -v -u ${{ secrets.MAVEN_USER }}:${{ secrets.MAVEN_PASSWORD }} --upload-file macos.tar.gz ${{ secrets.MAVEN_HOST }}/repository/grim-ci-artifacts/macos.tar.gz
+2 -2
View File
@@ -12,7 +12,7 @@ jobs:
steps:
- name: Telegram Notify Channel
uses: actions/telegram-notifier@ardocrat
uses: actions/telegram-notifier@main
with:
api_url: ${{ secrets.TELEGRAM_API_URL }}
token: ${{ secrets.TELEGRAM_BOT_TOKEN }}
@@ -20,7 +20,7 @@ jobs:
status: ${{ job.status }}
notify_fields: "actor,repository"
- name: Telegram Notify Group
uses: actions/telegram-notifier@ardocrat
uses: actions/telegram-notifier@main
with:
api_url: ${{ secrets.TELEGRAM_API_URL }}
token: ${{ secrets.TELEGRAM_BOT_TOKEN }}
+88 -41
View File
@@ -1,7 +1,10 @@
name: Release build
on:
push:
branches:
- master
- ci
tags-ignore:
- "*-dev*"
@@ -35,6 +38,13 @@ jobs:
echo "exists=${exists}" >> "$FORGEJO_OUTPUT"
echo ${exists}
mkdir release
- name: Check previous release
id: check_prev
run: |
git fetch --tags
[[ ${{ steps.check.outputs.exists == 'true' || forgejo.ref_type == 'branch' }} ]] && skip=1 || skip=0
last_tag=$(git describe --abbrev=0 --tags $(git rev-list --tags --skip=${skip} --max-count=1))
echo "last_tag=${last_tag}" >> "$FORGEJO_OUTPUT"
- uses: ardocrat/forgejo-release@grim
if: ${{ forgejo.ref_type == 'tag' && steps.check.outputs.exists == 'true' }}
with:
@@ -55,7 +65,12 @@ jobs:
override: false
prerelease: false
release-dir: ./release
release-notes: ""
release-notes: "Full Changelog: [${{ steps.check_prev.outputs.last_tag }}...${{ steps.version.outputs.v }}](https://code.gri.mw/${{ forgejo.repository }}/compare/${{ steps.check_prev.outputs.last_tag }}...${{ steps.version.outputs.v }})"
- name: Delete dev release
if: ${{ forgejo.ref_type == 'tag' && steps.check.outputs.exists == 'true' }}
uses: actions/delete-release@v1
with:
release_name: "${{ forgejo.ref_name }}-dev"
android_libs:
if: ${{ forgejo.ref_type == 'branch' || needs.check.outputs.exists == 'false' }}
@@ -65,13 +80,23 @@ jobs:
- uses: actions/checkout@v6
with:
submodules: recursive
- uses: actions/cache@v5
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- name: Build libs
run: |
chmod +x scripts/android.sh && ./scripts/android.sh lib ${{ needs.version.outputs.v }}
- uses: actions/upload-artifact@v4
with:
name: libs_android
path: android/app/src/main/jniLibs/*
- name: Upload artifacts
run: |
cd android/app/src/main
tar -czf jniLibs.tar.gz jniLibs
curl -v -u ${{ secrets.MAVEN_USER }}:${{ secrets.MAVEN_PASSWORD }} --upload-file jniLibs.tar.gz ${{ secrets.MAVEN_HOST }}/repository/grim-ci-artifacts/jniLibs.tar.gz
android_release:
if: ${{ forgejo.ref_type == 'branch' || needs.check.outputs.exists == 'false' }}
@@ -81,33 +106,38 @@ jobs:
- uses: actions/checkout@v6
with:
submodules: recursive
- run: mkdir libs
- name: Download Libs Artifacts
uses: actions/download-artifact@v4
- uses: actions/cache@v4
with:
path: libs
pattern: libs_*
merge-multiple: true
- name: Setup Java build
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Download artifacts
run: |
cd android/app/src/main
curl -o jniLibs.tar.gz -u ${{ secrets.MAVEN_USER }}:${{ secrets.MAVEN_PASSWORD }} ${{ secrets.MAVEN_HOST }}/repository/grim-ci-artifacts/jniLibs.tar.gz
tar -xzf jniLibs.tar.gz
rm jniLibs.tar.gz
- name: Setup build
run: |
chmod +x android/gradlew
echo "${{ secrets.ANDROID_KEYSTORE }}" > release.keystore.txt
base64 -d release.keystore.txt > android/keystore
echo "${{ secrets.ANDROID_KEYSTORE_PROPS }}" > release.keystore.props.txt
base64 -d release.keystore.props.txt > android/keystore.properties
- name: Prepare build
run: |
mkdir release
chmod +x android/gradlew
mkdir ~/.gradle && touch ~/.gradle/gradle.properties
printf "mavenHost=${{ secrets.MAVEN_HOST }}\n" >> ~/.gradle/gradle.properties
printf "mavenUser=${{ secrets.MAVEN_USER }}\n" >> ~/.gradle/gradle.properties
printf "mavenPassword=${{ secrets.MAVEN_PASSWORD }}" >> ~/.gradle/gradle.properties
- name: Release ARMv7+v8 APK
working-directory: android
run: |
jni_path=app/src/main/jniLibs
mkdir ${jni_path}
mv ../libs/armeabi-v7a ${jni_path}
mv ../libs/arm64-v8a ${jni_path}
./gradlew assembleSignedRelease
apk_path=app/build/outputs/apk/signedRelease/app-signedRelease.apk
mv ${jni_path}/x86_64 x86_64
./gradlew assembleCiSignedRelease
apk_path=app/build/outputs/apk/ci/signedRelease/app-ci-signedRelease.apk
name=grim-${{ needs.version.outputs.v }}-android.apk
mv ${apk_path} "${name}"
- name: Checksum ARM APK
@@ -122,9 +152,9 @@ jobs:
./gradlew clean
jni_path=app/src/main/jniLibs
rm -rf ${jni_path}/*
mv ../libs/x86_64 ${jni_path}
./gradlew assembleSignedRelease
apk_path=app/build/outputs/apk/signedRelease/app-signedRelease.apk
mv x86_64 ${jni_path}
./gradlew assembleCiSignedRelease
apk_path=app/build/outputs/apk/ci/signedRelease/app-ci-signedRelease.apk
name=grim-${{ needs.version.outputs.v }}-android-x86_64.apk
mv ${apk_path} "${name}"
- name: Checksum x86_64 APK
@@ -133,11 +163,12 @@ jobs:
name=grim-${{ needs.version.outputs.v }}-android.apk
checksum=grim-${{ needs.version.outputs.v }}-android-x86_64-sha256sum.txt
sha256sum "${name}" > "${checksum}"
- run: mv android/grim* release
- uses: actions/upload-artifact@v4
with:
name: release_android
path: release/*
- name: Upload artifacts
run: |
mkdir release
mv android/grim* release
tar -czf android.tar.gz release
curl -v -u ${{ secrets.MAVEN_USER }}:${{ secrets.MAVEN_PASSWORD }} --upload-file android.tar.gz ${{ secrets.MAVEN_HOST }}/repository/grim-ci-artifacts/android.tar.gz
linux:
if: ${{ forgejo.ref_type == 'branch' || needs.check.outputs.exists == 'false' }}
@@ -148,6 +179,9 @@ jobs:
version: ${{ needs.version.outputs.v }}
secrets:
RELEASE_TOKEN: ${{ secrets.RELEASE_TOKEN }}
MAVEN_HOST: ${{ secrets.MAVEN_HOST }}
MAVEN_USER: ${{ secrets.MAVEN_USER }}
MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }}
macos:
if: ${{ forgejo.ref_type == 'branch' || needs.check.outputs.exists == 'false' }}
@@ -158,6 +192,9 @@ jobs:
version: ${{ needs.version.outputs.v }}
secrets:
RELEASE_TOKEN: ${{ secrets.RELEASE_TOKEN }}
MAVEN_HOST: ${{ secrets.MAVEN_HOST }}
MAVEN_USER: ${{ secrets.MAVEN_USER }}
MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }}
windows:
if: ${{ forgejo.ref_type == 'branch' || needs.check.outputs.exists == 'false' }}
@@ -168,19 +205,29 @@ jobs:
version: ${{ needs.version.outputs.v }}
secrets:
RELEASE_TOKEN: ${{ secrets.RELEASE_TOKEN }}
MAVEN_HOST: ${{ secrets.MAVEN_HOST }}
MAVEN_USER: ${{ secrets.MAVEN_USER }}
MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }}
release:
if: ${{ forgejo.ref_type == 'branch' || needs.check.outputs.exists == 'false' }}
runs-on: ubuntu
needs: [version, android_libs, android_release, linux, macos, windows]
steps:
- run: mkdir release
- name: Download All Artifacts
uses: actions/download-artifact@v4
with:
path: release
pattern: release_*
merge-multiple: true
run: |
curl -o android.tar.gz -u ${{ secrets.MAVEN_USER }}:${{ secrets.MAVEN_PASSWORD }} ${{ secrets.MAVEN_HOST }}/repository/grim-ci-artifacts/android.tar.gz
tar -xzf android.tar.gz
rm android.tar.gz
curl -o linux.tar.gz -u ${{ secrets.MAVEN_USER }}:${{ secrets.MAVEN_PASSWORD }} ${{ secrets.MAVEN_HOST }}/repository/grim-ci-artifacts/linux.tar.gz
tar -xzf linux.tar.gz
rm linux.tar.gz
curl -o macos.tar.gz -u ${{ secrets.MAVEN_USER }}:${{ secrets.MAVEN_PASSWORD }} ${{ secrets.MAVEN_HOST }}/repository/grim-ci-artifacts/macos.tar.gz
tar -xzf macos.tar.gz
rm macos.tar.gz
curl -o windows.tar.gz -u ${{ secrets.MAVEN_USER }}:${{ secrets.MAVEN_PASSWORD }} ${{ secrets.MAVEN_HOST }}/repository/grim-ci-artifacts/windows.tar.gz
tar -xzf windows.tar.gz
rm windows.tar.gz
- name: Upload release to Forgejo
uses: ardocrat/forgejo-release@grim
with:
@@ -190,10 +237,10 @@ jobs:
override: true
prerelease: ${{ needs.version.outputs.pre }}
release-dir: release
release-notes: ""
release-notes: "Full Changelog: [${{ needs.version.outputs.last_tag }}...${{ needs.version.outputs.v }}](https://code.gri.mw/${{ forgejo.repository }}/compare/${{ needs.version.outputs.last_tag }}...${{ needs.version.outputs.v }})"
- name: Telegram Notify Channel
if: always()
uses: actions/telegram-notifier@ardocrat
uses: actions/telegram-notifier@main
with:
api_url: ${{ secrets.TELEGRAM_API_URL }}
token: ${{ secrets.TELEGRAM_BOT_TOKEN }}
@@ -202,7 +249,7 @@ jobs:
notify_fields: "actor,repository,workflow,branch,commit"
- name: Telegram Notify Group
if: always()
uses: actions/telegram-notifier@ardocrat
uses: actions/telegram-notifier@main
with:
api_url: ${{ secrets.TELEGRAM_API_URL }}
token: ${{ secrets.TELEGRAM_BOT_TOKEN }}
@@ -210,13 +257,13 @@ jobs:
status: ${{ job.status }}
notify_fields: "actor,repository,workflow,branch,commit"
- name: Upload files to Telegram
uses: ardocrat/tg-send-file-action@main
uses: actions/telegram-send-file@main
with:
api_url: ${{ secrets.TELEGRAM_API_URL }}
chat_ids: |
${{ secrets.TELEGRAM_GROUP_ID }}
${{ secrets.TELEGRAM_CHANNEL_ID }}
body: "🎁 Release ${{ needs.version.outputs.v }} is ready!"
${{ secrets.TELEGRAM_GROUP_ID }}
body: '🎁 Release <a href="https://code.gri.mw/${{ forgejo.repository }}/releases/tag/${{ needs.version.outputs.v }}">${{ needs.version.outputs.v }}</a> is ready!'
token: ${{ secrets.TELEGRAM_BOT_TOKEN }}
pin: true
files: |
+25 -4
View File
@@ -13,15 +13,36 @@ jobs:
with:
submodules: recursive
- run: mkdir release
- name: Restore cargo cache
id: cache-cargo-restore
uses: actions/cache/restore@v5
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- name: Release Windows x86
run: |
cargo build --release --target x86_64-pc-windows-gnu
zip grim-${{ inputs.version }}-win-x86_64.zip target/x86_64-pc-windows-gnu/release/grim.exe
mv grim-${{ inputs.version }}-win-x86_64.zip release/
- name: Save cargo cache
uses: actions/cache/save@v5
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ steps.cache-cargo-restore.outputs.cache-primary-key }}
- name: Checksum Archive x86
working-directory: release
run: sha256sum grim-${{ inputs.version }}-win-x86_64.zip > grim-${{ inputs.version }}-win-x86_64-sha256sum.txt
- uses: actions/upload-artifact@v4
with:
name: release_windows
path: release/*
- name: Upload artifacts
run: |
tar -czf windows.tar.gz release
curl -v -u ${{ secrets.MAVEN_USER }}:${{ secrets.MAVEN_PASSWORD }} --upload-file windows.tar.gz ${{ secrets.MAVEN_HOST }}/repository/grim-ci-artifacts/windows.tar.gz
Generated
+67 -373
View File
@@ -968,12 +968,6 @@ dependencies = [
"safemem",
]
[[package]]
name = "base64"
version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b41b7ea54a0c9d92199de89e20e58d49f02f8e699814ef3fdf266f6f748d15c7"
[[package]]
name = "base64"
version = "0.12.3"
@@ -2049,15 +2043,6 @@ dependencies = [
"memchr",
]
[[package]]
name = "ct-logs"
version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4d3686f5fa27dbc1d76c751300376e167c5a43387f44bb451fd1c24776e49113"
dependencies = [
"sct 0.6.1",
]
[[package]]
name = "ctr"
version = "0.9.2"
@@ -3825,14 +3810,14 @@ dependencies = [
"fs-mistrust",
"futures 0.3.31",
"gif",
"grin_api 5.4.0-alpha.0",
"grin_chain 5.4.0-alpha.0",
"grin_api",
"grin_chain",
"grin_config",
"grin_core 5.4.0-alpha.0",
"grin_keychain 5.4.0-alpha.0",
"grin_p2p 5.4.0-alpha.0",
"grin_core",
"grin_keychain",
"grin_p2p",
"grin_servers",
"grin_util 5.4.0-alpha.0",
"grin_util",
"grin_wallet_api",
"grin_wallet_controller",
"grin_wallet_impls",
@@ -3891,39 +3876,6 @@ dependencies = [
"winit",
]
[[package]]
name = "grin_api"
version = "5.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6443239e75a15c517ce24fe4dd3ef257898ae0224e6b7c993db28794e13ecf3e"
dependencies = [
"bytes 0.5.6",
"easy-jsonrpc-mw",
"futures 0.3.31",
"grin_chain 5.3.3",
"grin_core 5.3.3",
"grin_p2p 5.3.3",
"grin_pool 5.3.3",
"grin_store 5.3.3",
"grin_util 5.3.3",
"http 0.2.12",
"hyper 0.13.10",
"hyper-rustls 0.20.0",
"hyper-timeout 0.3.1",
"lazy_static",
"log",
"regex",
"ring 0.16.20",
"rustls 0.17.0",
"serde",
"serde_derive",
"serde_json",
"thiserror 1.0.69",
"tokio 0.2.25",
"tokio-rustls 0.13.1",
"url",
]
[[package]]
name = "grin_api"
version = "5.4.0-alpha.0"
@@ -3932,16 +3884,16 @@ dependencies = [
"bytes 1.10.1",
"easy-jsonrpc-mw",
"futures 0.3.31",
"grin_chain 5.4.0-alpha.0",
"grin_core 5.4.0-alpha.0",
"grin_p2p 5.4.0-alpha.0",
"grin_pool 5.4.0-alpha.0",
"grin_store 5.4.0-alpha.0",
"grin_util 5.4.0-alpha.0",
"grin_chain",
"grin_core",
"grin_p2p",
"grin_pool",
"grin_store",
"grin_util",
"http 0.2.12",
"hyper 0.14.32",
"hyper-rustls 0.23.2",
"hyper-timeout 0.4.1",
"hyper-timeout",
"lazy_static",
"log",
"regex",
@@ -3957,30 +3909,6 @@ dependencies = [
"url",
]
[[package]]
name = "grin_chain"
version = "5.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cdedcee9e20e0cc8dc1460b37b3951306c774a6aa5788e3f45addc56e60f7fbe"
dependencies = [
"bit-vec 0.6.3",
"bitflags 1.3.2",
"byteorder",
"chrono",
"croaring",
"enum_primitive",
"grin_core 5.3.3",
"grin_keychain 5.3.3",
"grin_store 5.3.3",
"grin_util 5.3.3",
"lazy_static",
"log",
"lru-cache",
"serde",
"serde_derive",
"thiserror 1.0.69",
]
[[package]]
name = "grin_chain"
version = "5.4.0-alpha.0"
@@ -3991,10 +3919,10 @@ dependencies = [
"chrono",
"croaring",
"enum_primitive",
"grin_core 5.4.0-alpha.0",
"grin_keychain 5.4.0-alpha.0",
"grin_store 5.4.0-alpha.0",
"grin_util 5.4.0-alpha.0",
"grin_core",
"grin_keychain",
"grin_store",
"grin_util",
"lazy_static",
"log",
"lru-cache",
@@ -4008,43 +3936,16 @@ name = "grin_config"
version = "5.4.0-alpha.0"
dependencies = [
"dirs 2.0.2",
"grin_core 5.4.0-alpha.0",
"grin_p2p 5.4.0-alpha.0",
"grin_core",
"grin_p2p",
"grin_servers",
"grin_util 5.4.0-alpha.0",
"grin_util",
"rand 0.6.5",
"serde",
"serde_derive",
"toml 0.5.11",
]
[[package]]
name = "grin_core"
version = "5.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c4fbf242a2a23a6554dd4c430574d2563993cf5f44921f953635e8a177cf2506"
dependencies = [
"blake2-rfc",
"byteorder",
"bytes 0.5.6",
"chrono",
"croaring",
"enum_primitive",
"grin_keychain 5.3.3",
"grin_util 5.3.3",
"lazy_static",
"log",
"lru-cache",
"num",
"num-bigint 0.2.6",
"rand 0.6.5",
"serde",
"serde_derive",
"siphasher 0.3.11",
"thiserror 1.0.69",
"zeroize",
]
[[package]]
name = "grin_core"
version = "5.4.0-alpha.0"
@@ -4055,8 +3956,8 @@ dependencies = [
"chrono",
"croaring",
"enum_primitive",
"grin_keychain 5.4.0-alpha.0",
"grin_util 5.4.0-alpha.0",
"grin_keychain",
"grin_util",
"lazy_static",
"log",
"lru-cache",
@@ -4070,29 +3971,6 @@ dependencies = [
"zeroize",
]
[[package]]
name = "grin_keychain"
version = "5.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "abeb1c22f48269a0bf463de589f8961d8bbb554def5e5e405710ead9a1b4c71a"
dependencies = [
"blake2-rfc",
"byteorder",
"digest 0.9.0",
"grin_util 5.3.3",
"hmac 0.11.0",
"lazy_static",
"log",
"pbkdf2 0.8.0",
"rand 0.6.5",
"ripemd160",
"serde",
"serde_derive",
"serde_json",
"sha2 0.9.9",
"zeroize",
]
[[package]]
name = "grin_keychain"
version = "5.4.0-alpha.0"
@@ -4100,7 +3978,7 @@ dependencies = [
"blake2-rfc",
"byteorder",
"digest 0.9.0",
"grin_util 5.4.0-alpha.0",
"grin_util",
"hmac 0.11.0",
"lazy_static",
"log",
@@ -4114,29 +3992,6 @@ dependencies = [
"zeroize",
]
[[package]]
name = "grin_p2p"
version = "5.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e6b0ecc5597244d698ec4e1ea2e7d04c3b209f496db16731a04f06af41572c54"
dependencies = [
"bitflags 1.3.2",
"bytes 0.5.6",
"chrono",
"enum_primitive",
"grin_chain 5.3.3",
"grin_core 5.3.3",
"grin_store 5.3.3",
"grin_util 5.3.3",
"log",
"lru-cache",
"num",
"rand 0.6.5",
"serde",
"serde_derive",
"tempfile",
]
[[package]]
name = "grin_p2p"
version = "5.4.0-alpha.0"
@@ -4145,10 +4000,10 @@ dependencies = [
"bytes 0.5.6",
"chrono",
"enum_primitive",
"grin_chain 5.4.0-alpha.0",
"grin_core 5.4.0-alpha.0",
"grin_store 5.4.0-alpha.0",
"grin_util 5.4.0-alpha.0",
"grin_chain",
"grin_core",
"grin_store",
"grin_util",
"log",
"lru-cache",
"num",
@@ -4158,33 +4013,15 @@ dependencies = [
"tempfile",
]
[[package]]
name = "grin_pool"
version = "5.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "14b758b202f034a03b894e732c716ddece8994fae5d8da1e074b1a9e07219f2b"
dependencies = [
"blake2-rfc",
"chrono",
"grin_core 5.3.3",
"grin_keychain 5.3.3",
"grin_util 5.3.3",
"log",
"rand 0.6.5",
"serde",
"serde_derive",
"thiserror 1.0.69",
]
[[package]]
name = "grin_pool"
version = "5.4.0-alpha.0"
dependencies = [
"blake2-rfc",
"chrono",
"grin_core 5.4.0-alpha.0",
"grin_keychain 5.4.0-alpha.0",
"grin_util 5.4.0-alpha.0",
"grin_core",
"grin_keychain",
"grin_util",
"log",
"rand 0.6.5",
"serde",
@@ -4215,14 +4052,14 @@ dependencies = [
"chrono",
"fs2",
"futures 0.3.31",
"grin_api 5.4.0-alpha.0",
"grin_chain 5.4.0-alpha.0",
"grin_core 5.4.0-alpha.0",
"grin_keychain 5.4.0-alpha.0",
"grin_p2p 5.4.0-alpha.0",
"grin_pool 5.4.0-alpha.0",
"grin_store 5.4.0-alpha.0",
"grin_util 5.4.0-alpha.0",
"grin_api",
"grin_chain",
"grin_core",
"grin_keychain",
"grin_p2p",
"grin_pool",
"grin_store",
"grin_util",
"http 0.2.12",
"hyper 0.14.32",
"hyper-rustls 0.23.2",
@@ -4238,34 +4075,14 @@ dependencies = [
"walkdir",
]
[[package]]
name = "grin_store"
version = "5.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "708e53758263fa17dfd3fc46419ded59a84d07818e1ee7526b0d47ba268f1362"
dependencies = [
"byteorder",
"croaring",
"grin_core 5.3.3",
"grin_util 5.3.3",
"libc",
"lmdb-zero",
"log",
"memmap",
"serde",
"serde_derive",
"tempfile",
"thiserror 1.0.69",
]
[[package]]
name = "grin_store"
version = "5.4.0-alpha.0"
dependencies = [
"byteorder",
"croaring",
"grin_core 5.4.0-alpha.0",
"grin_util 5.4.0-alpha.0",
"grin_core",
"grin_util",
"libc",
"lmdb-zero",
"log",
@@ -4276,29 +4093,6 @@ dependencies = [
"thiserror 1.0.69",
]
[[package]]
name = "grin_util"
version = "5.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d1433d76d0e95c2ed20e1008e9891adfae64812d1bdc5ec71ed5499dcaca2986"
dependencies = [
"anyhow",
"backtrace",
"base64 0.12.3",
"byteorder",
"grin_secp256k1zkp",
"lazy_static",
"log",
"log4rs",
"parking_lot 0.10.2",
"rand 0.6.5",
"serde",
"serde_derive",
"walkdir",
"zeroize",
"zip",
]
[[package]]
name = "grin_util"
version = "5.4.0-alpha.0"
@@ -4328,9 +4122,9 @@ dependencies = [
"chrono",
"easy-jsonrpc-mw",
"ed25519-dalek 1.0.1",
"grin_core 5.3.3",
"grin_keychain 5.3.3",
"grin_util 5.3.3",
"grin_core",
"grin_keychain",
"grin_util",
"grin_wallet_config",
"grin_wallet_impls",
"grin_wallet_libwallet",
@@ -4349,8 +4143,8 @@ name = "grin_wallet_config"
version = "5.4.0-alpha.1"
dependencies = [
"dirs 2.0.2",
"grin_core 5.3.3",
"grin_util 5.3.3",
"grin_core",
"grin_util",
"grin_wallet_util",
"rand 0.6.5",
"serde",
@@ -4365,16 +4159,16 @@ dependencies = [
"chrono",
"easy-jsonrpc-mw",
"futures 0.3.31",
"grin_api 5.3.3",
"grin_core 5.3.3",
"grin_keychain 5.3.3",
"grin_util 5.3.3",
"grin_api",
"grin_core",
"grin_keychain",
"grin_util",
"grin_wallet_api",
"grin_wallet_config",
"grin_wallet_impls",
"grin_wallet_libwallet",
"grin_wallet_util",
"hyper 0.13.10",
"hyper 0.14.32",
"lazy_static",
"log",
"prettytable-rs",
@@ -4402,12 +4196,12 @@ dependencies = [
"data-encoding",
"ed25519-dalek 1.0.1",
"futures 0.3.31",
"grin_api 5.3.3",
"grin_chain 5.3.3",
"grin_core 5.3.3",
"grin_keychain 5.3.3",
"grin_store 5.3.3",
"grin_util 5.3.3",
"grin_api",
"grin_chain",
"grin_core",
"grin_keychain",
"grin_store",
"grin_util",
"grin_wallet_config",
"grin_wallet_libwallet",
"grin_wallet_util",
@@ -4443,10 +4237,10 @@ dependencies = [
"chrono",
"curve25519-dalek 2.1.3",
"ed25519-dalek 1.0.1",
"grin_core 5.3.3",
"grin_keychain 5.3.3",
"grin_store 5.3.3",
"grin_util 5.3.3",
"grin_core",
"grin_keychain",
"grin_store",
"grin_util",
"grin_wallet_config",
"grin_wallet_util",
"hmac 0.12.1",
@@ -4473,7 +4267,7 @@ version = "5.4.0-alpha.1"
dependencies = [
"data-encoding",
"ed25519-dalek 1.0.1",
"grin_util 5.3.3",
"grin_util",
"rand 0.6.5",
"serde",
"serde_derive",
@@ -4916,24 +4710,6 @@ dependencies = [
"tower-service",
]
[[package]]
name = "hyper-rustls"
version = "0.20.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ac965ea399ec3a25ac7d13b8affd4b8f39325cca00858ddf5eb29b79e6b14b08"
dependencies = [
"bytes 0.5.6",
"ct-logs",
"futures-util",
"hyper 0.13.10",
"log",
"rustls 0.17.0",
"rustls-native-certs 0.3.0",
"tokio 0.2.25",
"tokio-rustls 0.13.1",
"webpki 0.21.4",
]
[[package]]
name = "hyper-rustls"
version = "0.21.0"
@@ -4960,7 +4736,7 @@ dependencies = [
"hyper 0.14.32",
"log",
"rustls 0.20.9",
"rustls-native-certs 0.6.3",
"rustls-native-certs",
"tokio 1.48.0",
"tokio-rustls 0.23.4",
]
@@ -4981,18 +4757,6 @@ dependencies = [
"tower-service",
]
[[package]]
name = "hyper-timeout"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0d1f9b0b8258e3ef8f45928021d3ef14096c2b93b99e4b8cfcabf1f58ec84b0a"
dependencies = [
"bytes 0.5.6",
"hyper 0.13.10",
"tokio 0.2.25",
"tokio-io-timeout 0.4.0",
]
[[package]]
name = "hyper-timeout"
version = "0.4.1"
@@ -5002,7 +4766,7 @@ dependencies = [
"hyper 0.14.32",
"pin-project-lite 0.2.16",
"tokio 1.48.0",
"tokio-io-timeout 1.2.1",
"tokio-io-timeout",
]
[[package]]
@@ -6270,8 +6034,8 @@ dependencies = [
"openssl-probe",
"openssl-sys",
"schannel",
"security-framework 2.11.1",
"security-framework-sys 2.15.0",
"security-framework",
"security-framework-sys",
"tempfile",
]
@@ -8709,19 +8473,6 @@ dependencies = [
"windows-sys 0.61.2",
]
[[package]]
name = "rustls"
version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c0d4a31f5d68413404705d6982529b0e11a9aacd4839d1d6222ee3b8cb4015e1"
dependencies = [
"base64 0.11.0",
"log",
"ring 0.16.20",
"sct 0.6.1",
"webpki 0.21.4",
]
[[package]]
name = "rustls"
version = "0.18.1"
@@ -8747,18 +8498,6 @@ dependencies = [
"webpki 0.22.4",
]
[[package]]
name = "rustls-native-certs"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a75ffeb84a6bd9d014713119542ce415db3a3e4748f0bfce1e1416cd224a23a5"
dependencies = [
"openssl-probe",
"rustls 0.17.0",
"schannel",
"security-framework 0.4.4",
]
[[package]]
name = "rustls-native-certs"
version = "0.6.3"
@@ -8768,7 +8507,7 @@ dependencies = [
"openssl-probe",
"rustls-pemfile",
"schannel",
"security-framework 2.11.1",
"security-framework",
]
[[package]]
@@ -8978,19 +8717,6 @@ dependencies = [
"zeroize",
]
[[package]]
name = "security-framework"
version = "0.4.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "64808902d7d99f78eaddd2b4e2509713babc3dc3c85ad6f4c447680f3c01e535"
dependencies = [
"bitflags 1.3.2",
"core-foundation 0.7.0",
"core-foundation-sys 0.7.0",
"libc",
"security-framework-sys 0.4.3",
]
[[package]]
name = "security-framework"
version = "2.11.1"
@@ -9001,17 +8727,7 @@ dependencies = [
"core-foundation 0.9.4",
"core-foundation-sys 0.8.7",
"libc",
"security-framework-sys 2.15.0",
]
[[package]]
name = "security-framework-sys"
version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "17bf11d99252f512695eb468de5516e5cf75455521e69dfe343f3b74e4748405"
dependencies = [
"core-foundation-sys 0.7.0",
"libc",
"security-framework-sys",
]
[[package]]
@@ -10066,16 +9782,6 @@ dependencies = [
"windows-sys 0.61.2",
]
[[package]]
name = "tokio-io-timeout"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9390a43272c8a6ac912ed1d1e2b6abeafd5047e05530a2fa304deee041a06215"
dependencies = [
"bytes 0.5.6",
"tokio 0.2.25",
]
[[package]]
name = "tokio-io-timeout"
version = "1.2.1"
@@ -10118,18 +9824,6 @@ dependencies = [
"tokio 1.48.0",
]
[[package]]
name = "tokio-rustls"
version = "0.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "15cb62a0d2770787abc96e99c1cd98fcf17f94959f3af63ca85bdfb203f051b4"
dependencies = [
"futures-core",
"rustls 0.17.0",
"tokio 0.2.25",
"webpki 0.21.4",
]
[[package]]
name = "tokio-rustls"
version = "0.14.1"
+42 -1
View File
@@ -56,6 +56,47 @@ android {
targetCompatibility JavaVersion.VERSION_17
}
namespace 'mw.gri.android'
flavorDimensions "mode"
productFlavors {
ci {
dimension "mode"
}
local {
dimension "mode"
}
}
applicationVariants.all { variant ->
def flavor = variant.productFlavors[0].name
if (flavor == "ci") {
repositories {
maven {
credentials {
username "$mavenUser"
password "$mavenPassword"
}
url "$mavenHost/repository/maven-central/"
allowInsecureProtocol = true
}
maven {
credentials {
username "$mavenUser"
password "$mavenPassword"
}
url "$mavenHost/repository/google-android-maven/"
allowInsecureProtocol = true
}
}
} else if (flavor == "local") {
repositories {
google()
mavenCentral()
}
}
}
}
dependencies {
@@ -68,4 +109,4 @@ dependencies {
implementation 'androidx.camera:camera-core:1.5.1'
implementation 'androidx.camera:camera-camera2:1.5.1'
implementation 'androidx.camera:camera-lifecycle:1.5.1'
}
}
+1 -1
View File
@@ -1,6 +1,6 @@
#Mon May 02 15:39:12 BST 2022
distributionBase=GRADLE_USER_HOME
distributionUrl=https\://code.gri.mw/ardocrat/gradle/releases/download/v8.11.1/gradle-8.11.1-bin.zip
distributionUrl=https\://code.gri.mw/DEV/gradle/releases/download/v8.11.1/gradle-8.11.1-bin.zip
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
+25 -12
View File
@@ -1,16 +1,29 @@
pluginManagement {
repositories {
gradlePluginPortal()
google()
mavenCentral()
maven {
credentials {
username "$mavenUser"
password "$mavenPassword"
}
url "$mavenHost/repository/gradle-plugin-portal/"
allowInsecureProtocol = true
}
maven {
credentials {
username "$mavenUser"
password "$mavenPassword"
}
url "$mavenHost/repository/google-maven/"
allowInsecureProtocol = true
}
maven {
credentials {
username "$mavenUser"
password "$mavenPassword"
}
url "$mavenHost/repository/maven-central/"
allowInsecureProtocol = true
}
}
}
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
}
}
//rootProject.name = "Rust Template"
include ':app'
include ':app'
+17 -7
View File
@@ -1,6 +1,6 @@
#!/bin/bash
usage="Usage: android.sh [type] [platform|version]\n - type: 'build' to run locally, 'lib' - .so for all platforms, 'release' - .apk for all platforms\n - platform, for 'build' type: 'v7', 'v8', 'x86'\n - version for 'lib' and 'release', example: '0.2.2'"
usage="Usage: android.sh [type] [platform|version] [flavor]\n - type: 'build' to run locally, 'lib' - .so for all platforms, 'release' - .apk for all platforms\n - platform, for 'build' type: 'v7', 'v8', 'x86'\n - version for 'lib' and 'release', example: '0.2.2'\n - flavor, for non-'lib' type: 'ci' for local maven, 'local' for external"
case $1 in
build|lib|release)
;;
@@ -19,6 +19,16 @@ if [[ $1 == "build" ]]; then
esac
fi
if [[ $1 != "lib" ]]; then
case $3 in
ci|local)
;;
*)
printf "$usage"
exit 1
esac
fi
# Setup build directory
BASEDIR=$(cd "$(dirname "$0")" && pwd)
cd "${BASEDIR}" || exit 1
@@ -59,17 +69,17 @@ function build_apk() {
./gradlew clean
# Build signed apk if keystore exists
if [ ! -f keystore.properties ]; then
./gradlew assembleDebug
./gradlew assemble$3Debug
if [ $? -ne 0 ]; then
success=0
fi
apk_path=app/build/outputs/apk/debug/app-debug.apk
apk_path=app/build/outputs/apk/$3/debug/app-$3-debug.apk
else
./gradlew assembleSignedRelease
./gradlew assemble$3SignedRelease
if [ $? -ne 0 ]; then
success=0
fi
apk_path=app/build/outputs/apk/signedRelease/app-signedRelease.apk
apk_path=app/build/outputs/apk/$3/signedRelease/app-$3-signedRelease.apk
fi
if [[ $1 == "" ]] && [ $success -eq 1 ]; then
@@ -118,10 +128,10 @@ else
rm -rf target/armv7-linux-androideabi
build_lib "v7"
[ $success -eq 1 ] && build_lib "v8"
[ $success -eq 1 ] && build_apk "arm" "$2"
[ $success -eq 1 ] && build_apk "arm" "$2" "$3"
rm -rf android/app/src/main/jniLibs/*
[ $success -eq 1 ] && build_lib "x86"
[ $success -eq 1 ] && build_apk "x86_64" "$2"
[ $success -eq 1 ] && build_apk "x86_64" "$2" "$3"
[ $success -eq 1 ] && exit 0
fi