2024-03-17 11:20:25 +08:00
name : Flutter Nightly MacOS Arm64 Build
2024-03-17 11:17:23 +08:00
on :
2024-03-30 18:27:23 +08:00
#schedule:
2024-03-30 16:55:28 +08:00
# schedule build every night
2024-03-30 18:27:23 +08:00
# - cron: "0/6 * * * *"
2024-03-17 11:20:25 +08:00
workflow_dispatch :
2024-03-17 11:17:23 +08:00
env :
CARGO_NDK_VERSION : "3.1.2"
LLVM_VERSION : "15.0.6"
FLUTTER_VERSION : "3.16.9"
FLUTTER_RUST_BRIDGE_VERSION : "1.80.1"
# for arm64 linux because official Dart SDK does not work
FLUTTER_ELINUX_VERSION : "3.16.9"
FLUTTER_ELINUX_COMMIT_ID : "c02bd16e1630f5bd690b85c5c2456ac1920e25af"
2024-03-17 11:20:25 +08:00
TAG_NAME : "nightly"
2024-03-17 11:17:23 +08:00
VCPKG_BINARY_SOURCES : "clear;x-gha,readwrite"
# vcpkg version: 2023.10.19
# for multiarch gcc compatibility
VCPKG_COMMIT_ID : "8eb57355a4ffb410a2e94c07b4dca2dffbee8e50"
VERSION : "1.2.4"
NDK_VERSION : "r26b"
#signing keys env variable checks
ANDROID_SIGNING_KEY : '${{ secrets.ANDROID_SIGNING_KEY }}'
MACOS_P12_BASE64 : '${{ secrets.MACOS_P12_BASE64 }}'
# To make a custom build with your own servers set the below secret values
RS_PUB_KEY : '${{ secrets.RS_PUB_KEY }}'
RENDEZVOUS_SERVER : '${{ secrets.RENDEZVOUS_SERVER }}'
API_SERVER : '${{ secrets.API_SERVER }}'
2024-03-17 11:28:12 +08:00
UPLOAD_ARTIFACT : true
2024-03-17 11:17:23 +08:00
SIGN_BASE_URL : "${{ secrets.SIGN_BASE_URL }}"
jobs :
2024-04-26 19:00:38 +08:00
build-rustdesk-ios :
2024-03-17 11:17:23 +08:00
runs-on : [ self-hosted, macOS, ARM64]
2024-04-26 19:00:38 +08:00
strategy :
fail-fast : false
2024-03-17 11:17:23 +08:00
steps :
2024-04-26 19:00:38 +08:00
- name : Export GitHub Actions cache environment variables
uses : actions/github-script@v6
with :
script : |
core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || '');
core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '');
- name : Checkout source code
uses : actions/checkout@v3
# $VCPKG_ROOT/vcpkg install --triplet arm64-ios --x-install-root="$VCPKG_ROOT/installed"
- name : Install flutter rust bridge deps
shell : bash
run : |
cargo install flutter_rust_bridge_codegen --version ${{ env.FLUTTER_RUST_BRIDGE_VERSION }} --features "uuid"
pushd flutter && flutter pub get && popd
~/.cargo/bin/flutter_rust_bridge_codegen --rust-input ./src/flutter_ffi.rs --dart-output ./flutter/lib/generated_bridge.dart --c-output ./flutter/ios/Runner/bridge_generated.h
- name : Build rustdesk lib
run : |
cargo build --features flutter,hwcodec --release --target aarch64-apple-ios --lib
- name : Build rustdesk
2024-03-17 11:17:23 +08:00
shell : bash
run : |
2024-04-26 19:00:38 +08:00
pushd flutter
# flutter build ipa --release --obfuscate --split-debug-info=./split-debug-info --no-codesign
# for easy debugging
flutter build ipa --release --no-codesign