70 lines
2.5 KiB
YAML
70 lines
2.5 KiB
YAML
name: Flutter Nightly MacOS Arm64 Build
|
|
|
|
on:
|
|
#schedule:
|
|
# schedule build every night
|
|
# - cron: "0/6 * * * *"
|
|
workflow_dispatch:
|
|
|
|
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"
|
|
TAG_NAME: "nightly"
|
|
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 }}'
|
|
UPLOAD_ARTIFACT: true
|
|
SIGN_BASE_URL: "${{ secrets.SIGN_BASE_URL }}"
|
|
|
|
jobs:
|
|
build-rustdesk-ios:
|
|
runs-on: [self-hosted, macOS, ARM64]
|
|
strategy:
|
|
fail-fast: false
|
|
steps:
|
|
- 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
|
|
shell: bash
|
|
run: |
|
|
pushd flutter
|
|
# flutter build ipa --release --obfuscate --split-debug-info=./split-debug-info --no-codesign
|
|
# for easy debugging
|
|
flutter build ipa --release --no-codesign
|