Skip to content

Commit

Permalink
feat: precompiled binaries
Browse files Browse the repository at this point in the history
  • Loading branch information
ethicnology committed Dec 19, 2024
1 parent 81b2b02 commit a5e273a
Show file tree
Hide file tree
Showing 3 changed files with 61 additions and 1 deletion.
44 changes: 44 additions & 0 deletions .github/workflows/precompiled_binaries.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
on:
push:
branches: [ trunk ]

name: Precompile Binaries
jobs:
Precompile:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-20.04
- macOS-latest
- windows-latest
steps:
- uses: actions/checkout@v4
- uses: dart-lang/setup-dart@v1

- name: Install GTK
if: (matrix.os == 'ubuntu-latest')
run: sudo apt-get update && sudo apt-get install libgtk-3-dev
- name: Set up Android SDK
if: (matrix.os == 'ubuntu-20.04')
uses: android-actions/setup-android@v2

- name: Install Specific NDK
if: (matrix.os == 'ubuntu-20.04')
run: sdkmanager --install "ndk;24.0.8215888"
- name: Precompile
if: (matrix.os == 'macOS-latest') || (matrix.os == 'windows-latest')
run: dart run build_tool precompile-binaries -v --manifest-dir=../../rust --repository=SatoshiPortal/lwk-dart
working-directory: cargokit/build_tool
env:
GITHUB_TOKEN: ${{ secrets.RELEASE_GITHUB_TOKEN }}
PRIVATE_KEY: ${{ secrets.RELEASE_PRIVATE_KEY }}

- name: Precompile (with Android)
if: (matrix.os == 'ubuntu-latest')
run: dart run build_tool precompile-binaries -v --manifest-dir=../../rust --repository=SatoshiPortal/lwk-dart --android-sdk-location=/usr/local/lib/android/sdk --android-ndk-version=24.0.8215888 --android-min-sdk-version=23
working-directory: cargokit/build_tool
env:
GITHUB_TOKEN: ${{ secrets.RELEASE_GITHUB_TOKEN }}
PRIVATE_KEY: ${{ secrets.RELEASE_PRIVATE_KEY }
5 changes: 4 additions & 1 deletion cargokit/build_tool/lib/src/options.dart
Original file line number Diff line number Diff line change
Expand Up @@ -298,7 +298,10 @@ class CargokitUserOptions {
}
userProjectDir = userProjectDir.parent;
}
return CargokitUserOptions._();
return CargokitUserOptions(
usePrecompiledBinaries: true,
verboseLogging: false,
);
}

final bool usePrecompiledBinaries;
Expand Down
13 changes: 13 additions & 0 deletions rust/cargokit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
cargo:
debug:
toolchain: stable
release:
toolchain: nightly
extra_flags:
- -Z
- build-std=panic_abort,std
precompiled_binaries:
# Uri prefix used when downloading precompiled binaries.
url_prefix: https://github.com/SatoshiPortal/lwk-dart/releases/download/precompiled_
# Public key for verifying downloaded precompiled binaries.
public_key: <RELEASE_PUBLIC_KEY>

0 comments on commit a5e273a

Please sign in to comment.