Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
0323c28
Fix duplicate continue-on-error in workflow
thotganesh Mar 4, 2026
82fe419
Remove redundant continue-on-error from cleanup step
thotganesh Mar 4, 2026
7fe0bfd
Refactor macOS workflow for app icon management
thotganesh Mar 4, 2026
1389590
Enhance macOS workflow with icon handling and signing
thotganesh Mar 4, 2026
9779793
Refactor generator-windows.yml for clarity and cleanup
thotganesh Mar 4, 2026
269b7d8
Clean up generator-windows-x86.yml workflow
thotganesh Mar 4, 2026
0d881c1
Refactor generator-linux.yml for clarity and updates
thotganesh Mar 4, 2026
fbcb932
Refactor generator-android.yml for clarity and stability
thotganesh Mar 4, 2026
62aa050
Revise README for RDGen Enhanced Edition
thotganesh Mar 4, 2026
d0c1b98
Refactor CI workflow by removing unnecessary steps
thotganesh Mar 5, 2026
df1de1e
Upgrade workflow to Ubuntu 22.04 and refine steps
thotganesh Mar 5, 2026
7601e4e
Enhance macOS app signing with entitlements
thotganesh Mar 28, 2026
eeec63e
Update generator-macos.yml
thotganesh Mar 28, 2026
2d961f3
Refactor macOS app signing process
thotganesh Mar 28, 2026
a4db733
Enhance macOS build process with deep signing
thotganesh Mar 28, 2026
1ae515b
Update build.py command in generator-macos.yml
thotganesh Mar 28, 2026
198aefe
Modify build.py call and enhance signing steps
thotganesh Mar 28, 2026
a025c21
Refactor sed commands for consistency in generator-macos.yml
thotganesh Mar 28, 2026
238cde9
Enhance macOS workflow with rcodesign installation
thotganesh Mar 28, 2026
4e35e47
Enhance macOS app code signing with entitlements
thotganesh Mar 28, 2026
dad022f
Refactor macOS app signing process and remove rcodesign
thotganesh Mar 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 10 additions & 27 deletions .github/workflows/generator-android.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,24 +16,21 @@ on:


env:
SCITER_RUST_VERSION: "1.75" # https://github.com/rustdesk/rustdesk/discussions/7503, also 1.78 has ABI change which causes our sciter version not working, https://blog.rust-lang.org/2024/03/30/i128-layout-update.html
RUST_VERSION: "1.75" # sciter failed on m1 with 1.78 because of https://blog.rust-lang.org/2024/03/30/i128-layout-update.html
SCITER_RUST_VERSION: "1.75"
RUST_VERSION: "1.75"
CARGO_NDK_VERSION: "3.1.2"
SCITER_ARMV7_CMAKE_VERSION: "3.29.7"
SCITER_NASM_DEBVERSION: "2.14-1"
LLVM_VERSION: "15.0.6"
FLUTTER_VERSION: "3.24.5"
ANDROID_FLUTTER_VERSION: "3.24.5"
# for arm64 linux because official Dart SDK does not work
FLUTTER_ELINUX_VERSION: "3.16.9"
TAG_NAME: "${{ inputs.upload-tag }}"
VCPKG_BINARY_SOURCES: "clear;x-gha,readwrite"
# vcpkg version: 2024.07.12
VCPKG_COMMIT_ID: "120deac3062162151622ca4860575a33844ba10b"
ARMV7_VCPKG_COMMIT_ID: "6f29f12e82a8293156836ad81cc9bf5af41fe836"
VERSION: "${{ inputs.version }}"
NDK_VERSION: "r27c"
#signing keys env variable checks
ANDROID_SIGNING_KEY: "${{ secrets.ANDROID_SIGNING_KEY }}"
MACOS_P12_BASE64: "${{ secrets.MACOS_P12_BASE64 }}"
UPLOAD_ARTIFACT: 'true'
Expand Down Expand Up @@ -94,7 +91,7 @@ jobs:
zip_password: ${{ secrets.ZIP_PASSWORD }}

- name: Finalize and Cleanup zip/json
if: always() # Run even if previous steps fail
if: always()
continue-on-error: true
uses: fjogeleit/http-request-action@v1
with:
Expand Down Expand Up @@ -189,7 +186,7 @@ jobs:
repository: rustdesk/rustdesk
ref: refs/tags/${{ env.VERSION }}
submodules: recursive

- name: Checkout source code
if: ${{ env.VERSION == 'master' }}
uses: actions/checkout@v4
Expand All @@ -209,7 +206,6 @@ jobs:
cd $(dirname $(dirname $(which flutter)))
[[ "3.24.5" == ${{env.ANDROID_FLUTTER_VERSION}} ]] && git apply ${{ github.workspace }}/.github/patches/flutter_3.24.4_dropdown_menu_enableFilter.diff


- uses: nttld/setup-ndk@v1
id: setup-ndk
with:
Expand Down Expand Up @@ -265,10 +261,9 @@ jobs:

- uses: Swatinem/rust-cache@v2
with:
prefix-key: rustdesk-lib-cache-android # TODO: drop '-android' part after caches are invalidated
prefix-key: rustdesk-lib-cache-android
key: ${{ matrix.job.target }}

###########################################################echo "${{ env.iconbase64 }}" | base64 -d > ./res/icon.png
- name: icon stuff
if: ${{ env.iconlink_url != 'false' }}
uses: nick-fields/retry@v3
Expand Down Expand Up @@ -308,8 +303,6 @@ jobs:
sed -i -e 's|rs-ny.rustdesk.com|${{ env.server }}|' ./libs/hbb_common/src/config.rs
sed -i -e 's|OeVuKk5nlHiXp+APNn0Y3pC1Iwpwn44JGqrQCsWqmBw=|${{ env.key }}|' ./libs/hbb_common/src/config.rs
sed -i -e 's|https://admin.rustdesk.com|${{ env.apiServer }}|' ./src/common.rs
# ./flutter/pubspec.yaml
#sed -i '/intl:/a \ \ archive: ^3.6.1' ./flutter/pubspec.yaml

- name: change appname to custom
if: env.appname != 'rustdesk'
Expand Down Expand Up @@ -381,7 +374,6 @@ jobs:
run: |
sed -i -e '/const KEY:/,/};/d' ./src/common.rs
sed -i -e '/let Ok(data) = sign::verify(&data, &pk)/,/};/d' ./src/common.rs
# sed -i '/intl:/a \ \ archive: ^3.6.1' ./flutter/pubspec.yaml

- name: fix connection delay
continue-on-error: true
Expand Down Expand Up @@ -450,7 +442,6 @@ jobs:
dart run flutter_launcher_icons
popd
sed -i '/ic_launcher_background/d' ./flutter/android/app/src/main/res/values/colors.xml
##########################################################

- name: Build rustdesk lib
env:
Expand Down Expand Up @@ -512,18 +503,14 @@ jobs:
JAVA_HOME: /usr/lib/jvm/java-17-openjdk-amd64
run: |
export PATH=/usr/lib/jvm/java-17-openjdk-amd64/bin:$PATH
# Increase Gradle JVM memory for CI builds
sed -i "s/org.gradle.jvmargs=-Xmx1024M/org.gradle.jvmargs=-Xmx2g/g" ./flutter/android/gradle.properties
# temporary use debug sign config
sed -i "s/signingConfigs.release/signingConfigs.debug/g" ./flutter/android/app/build.gradle
case ${{ matrix.job.target }} in
aarch64-linux-android)
mkdir -p ./flutter/android/app/src/main/jniLibs/arm64-v8a
cp ${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/aarch64-linux-android/libc++_shared.so ./flutter/android/app/src/main/jniLibs/arm64-v8a/
cp ./target/${{ matrix.job.target }}/release/liblibrustdesk.so ./flutter/android/app/src/main/jniLibs/arm64-v8a/librustdesk.so
echo -n "${{ env.custom }}" | cat > ./flutter/assets/custom_.txt
#sed -i '/^ - assets\//a\ - assets/custom_.txt' ./flutter/pubspec.yaml
# build flutter
pushd flutter
flutter build apk "--${{ matrix.job.reltype }}" --target-platform android-arm64 --split-per-abi
mv build/app/outputs/flutter-apk/app-arm64-v8a-${{ matrix.job.reltype }}.apk ../rustdesk-${{ env.VERSION }}-${{ matrix.job.arch }}${{ matrix.job.suffix }}.apk
Expand All @@ -533,8 +520,6 @@ jobs:
cp ${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/arm-linux-androideabi/libc++_shared.so ./flutter/android/app/src/main/jniLibs/armeabi-v7a/
cp ./target/${{ matrix.job.target }}/release/liblibrustdesk.so ./flutter/android/app/src/main/jniLibs/armeabi-v7a/librustdesk.so
echo -n "${{ env.custom }}" | cat > ./flutter/assets/custom_.txt
#sed -i '/^ - assets\//a\ - assets/custom_.txt' ./flutter/pubspec.yaml
# build flutter
pushd flutter
flutter build apk "--${{ matrix.job.reltype }}" --target-platform android-arm --split-per-abi
mv build/app/outputs/flutter-apk/app-armeabi-v7a-${{ matrix.job.reltype }}.apk ../rustdesk-${{ env.VERSION }}-${{ matrix.job.arch }}${{ matrix.job.suffix }}.apk
Expand All @@ -544,8 +529,6 @@ jobs:
cp ${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/x86_64-linux-android/libc++_shared.so ./flutter/android/app/src/main/jniLibs/x86_64/
cp ./target/${{ matrix.job.target }}/release/liblibrustdesk.so ./flutter/android/app/src/main/jniLibs/x86_64/librustdesk.so
echo -n "${{ env.custom }}" | cat > ./flutter/assets/custom_.txt
#sed -i '/^ - assets\//a\ - assets/custom_.txt' ./flutter/pubspec.yaml
# build flutter
pushd flutter
flutter build apk "--${{ matrix.job.reltype }}" --target-platform android-x64 --split-per-abi
mv build/app/outputs/flutter-apk/app-x86_64-${{ matrix.job.reltype }}.apk ../rustdesk-${{ env.VERSION }}-${{ matrix.job.arch }}${{ matrix.job.suffix }}.apk
Expand All @@ -555,8 +538,6 @@ jobs:
cp ${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/i686-linux-android/libc++_shared.so ./flutter/android/app/src/main/jniLibs/x86/
cp ./target/${{ matrix.job.target }}/release/liblibrustdesk.so ./flutter/android/app/src/main/jniLibs/x86/librustdesk.so
echo -n "${{ env.custom }}" | cat > ./flutter/assets/custom_.txt
#sed -i '/^ - assets\//a\ - assets/custom_.txt' ./flutter/pubspec.yaml
# build flutter
pushd flutter
flutter build apk "--${{ matrix.job.reltype }}" --target-platform android-x86 --split-per-abi
mv build/app/outputs/flutter-apk/app-x86-${{ matrix.job.reltype }}.apk ../rustdesk-${{ env.VERSION }}-${{ matrix.job.arch }}${{ matrix.job.suffix }}.apk
Expand Down Expand Up @@ -588,7 +569,6 @@ jobs:
keyStorePassword: ${{ secrets.ANDROID_KEY_STORE_PASSWORD }}
keyPassword: ${{ secrets.ANDROID_KEY_PASSWORD }}
env:
# override default build-tools version (29.0.3) -- optional
BUILD_TOOLS_VERSION: "30.0.2"

- name: send file to rdgen server
Expand All @@ -614,6 +594,7 @@ jobs:
- name: failed
if: failure()
uses: fjogeleit/http-request-action@v1
continue-on-error: true
with:
url: ${{ env.STATUS_URL }}
method: 'POST'
Expand All @@ -623,6 +604,7 @@ jobs:
- name: failed
if: cancelled()
uses: fjogeleit/http-request-action@v1
continue-on-error: true
with:
url: ${{ env.STATUS_URL }}
method: 'POST'
Expand All @@ -646,7 +628,7 @@ jobs:
zip_password: ${{ secrets.ZIP_PASSWORD }}

- name: Finalize and Cleanup zip/json
if: always() # Run even if previous steps fail
if: always()
continue-on-error: true
uses: fjogeleit/http-request-action@v1
with:
Expand All @@ -667,6 +649,7 @@ jobs:

- name: Report Status
uses: fjogeleit/http-request-action@v1
continue-on-error: true
with:
url: ${{ env.STATUS_URL }}
method: 'POST'
Expand All @@ -687,4 +670,4 @@ jobs:
- name: Delete secrets artifact
uses: geekyeggo/delete-artifact@v5
with:
name: encrypted-secrets-zip
name: encrypted-secrets-zip
Loading