pin more action

This commit is contained in:
rustdesk
2026-05-26 19:03:03 +08:00
parent f3fc0b5ac2
commit 81e7d27ec8
7 changed files with 79 additions and 79 deletions

View File

@@ -25,7 +25,7 @@ jobs:
} }
steps: steps:
- name: Checkout source code - name: Checkout source code
uses: actions/checkout@v4 uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
with: with:
submodules: recursive submodules: recursive
@@ -49,25 +49,25 @@ jobs:
wget wget
- name: Install Rust toolchain - name: Install Rust toolchain
uses: dtolnay/rust-toolchain@v1 uses: dtolnay/rust-toolchain@e97e2d8cc328f1b50210efc529dca0028893a2d9 # v1
with: with:
toolchain: ${{ env.RUST_VERSION }} toolchain: ${{ env.RUST_VERSION }}
targets: ${{ matrix.job.target }} targets: ${{ matrix.job.target }}
components: "rustfmt" components: "rustfmt"
- uses: Swatinem/rust-cache@v2 - uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2
with: with:
prefix-key: bridge-${{ matrix.job.os }} prefix-key: bridge-${{ matrix.job.os }}
- name: Cache Bridge - name: Cache Bridge
id: cache-bridge id: cache-bridge
uses: actions/cache@v3 uses: actions/cache@6f8efc29b200d32929f49075959781ed54ec270c # v3
with: with:
path: /tmp/flutter_rust_bridge path: /tmp/flutter_rust_bridge
key: vcpkg-${{ matrix.job.arch }} key: vcpkg-${{ matrix.job.arch }}
- name: Install flutter - name: Install flutter
uses: subosito/flutter-action@v2 uses: subosito/flutter-action@1a449444c387b1966244ae4d4f8c696479add0b2 # v2
with: with:
channel: "stable" channel: "stable"
flutter-version: ${{ env.FLUTTER_VERSION }} flutter-version: ${{ env.FLUTTER_VERSION }}
@@ -86,7 +86,7 @@ jobs:
cp ./flutter/macos/Runner/bridge_generated.h ./flutter/ios/Runner/bridge_generated.h cp ./flutter/macos/Runner/bridge_generated.h ./flutter/ios/Runner/bridge_generated.h
- name: Upload Artifact - name: Upload Artifact
uses: actions/upload-artifact@master uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with: with:
name: bridge-artifact name: bridge-artifact
path: | path: |

View File

@@ -29,13 +29,13 @@ jobs:
# name: Ensure 'cargo fmt' has been run # name: Ensure 'cargo fmt' has been run
# runs-on: ubuntu-20.04 # runs-on: ubuntu-20.04
# steps: # steps:
# - uses: actions-rs/toolchain@v1 # - uses: actions-rs/toolchain@16499b5e05bf2e26879000db0c1d13f7e13fa3af # v1
# with: # with:
# toolchain: stable # toolchain: stable
# default: true # default: true
# profile: minimal # profile: minimal
# components: rustfmt # components: rustfmt
# - uses: actions/checkout@v3 # - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
# - run: cargo fmt -- --check # - run: cargo fmt -- --check
# min_version: # min_version:
@@ -43,24 +43,24 @@ jobs:
# runs-on: ubuntu-20.04 # runs-on: ubuntu-20.04
# steps: # steps:
# - name: Checkout source code # - name: Checkout source code
# uses: actions/checkout@v3 # uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
# with: # with:
# submodules: recursive # submodules: recursive
# - name: Install rust toolchain (v${{ env.MIN_SUPPORTED_RUST_VERSION }}) # - name: Install rust toolchain (v${{ env.MIN_SUPPORTED_RUST_VERSION }})
# uses: actions-rs/toolchain@v1 # uses: actions-rs/toolchain@16499b5e05bf2e26879000db0c1d13f7e13fa3af # v1
# with: # with:
# toolchain: ${{ env.MIN_SUPPORTED_RUST_VERSION }} # toolchain: ${{ env.MIN_SUPPORTED_RUST_VERSION }}
# default: true # default: true
# profile: minimal # minimal component installation (ie, no documentation) # profile: minimal # minimal component installation (ie, no documentation)
# components: clippy # components: clippy
# - name: Run clippy (on minimum supported rust version to prevent warnings we can't fix) # - name: Run clippy (on minimum supported rust version to prevent warnings we can't fix)
# uses: actions-rs/cargo@v1 # uses: actions-rs/cargo@844f36862e911db73fe0815f00a4a2602c279505 # v1
# with: # with:
# command: clippy # command: clippy
# args: --locked --all-targets --all-features -- --allow clippy::unknown_clippy_lints # args: --locked --all-targets --all-features -- --allow clippy::unknown_clippy_lints
# - name: Run tests # - name: Run tests
# uses: actions-rs/cargo@v1 # uses: actions-rs/cargo@844f36862e911db73fe0815f00a4a2602c279505 # v1
# with: # with:
# command: test # command: test
# args: --locked # args: --locked
@@ -86,9 +86,9 @@ jobs:
steps: steps:
- name: Free Disk Space (Ubuntu) - name: Free Disk Space (Ubuntu)
if: runner.os == 'Linux' if: runner.os == 'Linux'
# jlumbroso/free-disk-space@main is used in .github\workflows\flutter-build.yml # jlumbroso/free-disk-space@v1.3.1 is used in .github\workflows\flutter-build.yml
# But pinning to a specific version to avoid unexpected issues is preferred. # But pinning to a specific version to avoid unexpected issues is preferred.
uses: jlumbroso/free-disk-space@v1.3.1 uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1
with: with:
tool-cache: false tool-cache: false
android: true android: true
@@ -99,14 +99,14 @@ jobs:
swap-storage: false swap-storage: false
- name: Export GitHub Actions cache environment variables - name: Export GitHub Actions cache environment variables
uses: actions/github-script@v6 uses: actions/github-script@d7906e4ad0b1822421a7e6a35d5ca353c962f410 # v6
with: with:
script: | script: |
core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || ''); core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || '');
core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || ''); core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '');
- name: Checkout source code - name: Checkout source code
uses: actions/checkout@v4 uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
with: with:
submodules: recursive submodules: recursive
@@ -145,7 +145,7 @@ jobs:
esac esac
- name: Setup vcpkg with Github Actions binary cache - name: Setup vcpkg with Github Actions binary cache
uses: lukka/run-vcpkg@v11 uses: lukka/run-vcpkg@b1a0dd252f06b9e25b3c022a9a03bd7a427fb6a2 # v11
with: with:
vcpkgDirectory: /opt/artifacts/vcpkg vcpkgDirectory: /opt/artifacts/vcpkg
vcpkgGitCommitId: ${{ env.VCPKG_COMMIT_ID }} vcpkgGitCommitId: ${{ env.VCPKG_COMMIT_ID }}
@@ -156,7 +156,7 @@ jobs:
shell: bash shell: bash
- name: Install Rust toolchain - name: Install Rust toolchain
uses: dtolnay/rust-toolchain@v1 uses: dtolnay/rust-toolchain@e97e2d8cc328f1b50210efc529dca0028893a2d9 # v1
with: with:
toolchain: stable toolchain: stable
targets: ${{ matrix.job.target }} targets: ${{ matrix.job.target }}
@@ -172,10 +172,10 @@ jobs:
cargo -V cargo -V
rustc -V rustc -V
- uses: Swatinem/rust-cache@v2 - uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2
- name: Build - name: Build
uses: actions-rs/cargo@v1 uses: actions-rs/cargo@844f36862e911db73fe0815f00a4a2602c279505 # v1
with: with:
use-cross: ${{ matrix.job.use-cross }} use-cross: ${{ matrix.job.use-cross }}
command: build command: build
@@ -243,7 +243,7 @@ jobs:
echo "CARGO_TEST_OPTIONS=${CARGO_TEST_OPTIONS}" >> $GITHUB_OUTPUT echo "CARGO_TEST_OPTIONS=${CARGO_TEST_OPTIONS}" >> $GITHUB_OUTPUT
- name: Run tests - name: Run tests
uses: actions-rs/cargo@v1 uses: actions-rs/cargo@844f36862e911db73fe0815f00a4a2602c279505 # v1
with: with:
use-cross: ${{ matrix.job.use-cross }} use-cross: ${{ matrix.job.use-cross }}
command: test command: test

View File

@@ -11,7 +11,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Clear cache - name: Clear cache
uses: actions/github-script@v7 uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b # v7
with: with:
script: | script: |
console.log("About to clear") console.log("About to clear")
@@ -30,7 +30,7 @@ jobs:
console.log("Clear completed") console.log("Clear completed")
- name: Purge cache # Above seems not clear thouroughly, so add this to double clear - name: Purge cache # Above seems not clear thouroughly, so add this to double clear
uses: MyAlbum/purge-cache@v2 uses: MyAlbum/purge-cache@881eb5957687193fa612bf74c0042adc78ea5e54 # v2
with: with:
accessed: true # Purge caches by their last accessed time (default) accessed: true # Purge caches by their last accessed time (default)
created: false # Purge caches by their created time (default) created: false # Purge caches by their created time (default)

View File

@@ -31,7 +31,7 @@ jobs:
shell: bash shell: bash
- name: Publish RustDesk version file - name: Publish RustDesk version file
uses: softprops/action-gh-release@v1 uses: softprops/action-gh-release@de2c0eb89ae2a093876385947365aca7b0e5f844 # v1
with: with:
prerelease: true prerelease: true
tag_name: "fdroid-version" tag_name: "fdroid-version"

View File

@@ -93,7 +93,7 @@ jobs:
submodules: recursive submodules: recursive
- name: Restore bridge files - name: Restore bridge files
uses: actions/download-artifact@2a5974104b6d5dbdb2f9468a3e54da3bdd241578 # master 2026-05-26 uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with: with:
name: bridge-artifact name: bridge-artifact
path: ./ path: ./
@@ -220,7 +220,7 @@ jobs:
fi fi
- name: Download RustDeskTempTopMostWindow artifacts - name: Download RustDeskTempTopMostWindow artifacts
uses: actions/download-artifact@2a5974104b6d5dbdb2f9468a3e54da3bdd241578 # master 2026-05-26 uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
if: ${{ inputs.upload-artifact }} if: ${{ inputs.upload-artifact }}
with: with:
name: topmostwindow-artifacts name: topmostwindow-artifacts
@@ -228,7 +228,7 @@ jobs:
- name: Upload unsigned - name: Upload unsigned
if: env.UPLOAD_ARTIFACT == 'true' if: env.UPLOAD_ARTIFACT == 'true'
uses: actions/upload-artifact@0c366cb4fc8897159c94880f94b55bc716ad6a66 # master 2026-05-26 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with: with:
name: rustdesk-unsigned-windows-${{ matrix.job.arch }} name: rustdesk-unsigned-windows-${{ matrix.job.arch }}
path: rustdesk path: rustdesk
@@ -314,7 +314,7 @@ jobs:
submodules: recursive submodules: recursive
- name: Install LLVM and Clang - name: Install LLVM and Clang
uses: rustdesk-org/install-llvm-action-32bit@6aa7d9ad3df84dff01cd4596dd0fc880a7f47fce # master 2026-05-26 uses: rustdesk-org/install-llvm-action-32bit@6aa7d9ad3df84dff01cd4596dd0fc880a7f47fce # no release tag; commit 2026-05-26
with: with:
version: ${{ env.LLVM_VERSION }} version: ${{ env.LLVM_VERSION }}
@@ -395,7 +395,7 @@ jobs:
- name: Upload unsigned - name: Upload unsigned
if: env.UPLOAD_ARTIFACT == 'true' if: env.UPLOAD_ARTIFACT == 'true'
uses: actions/upload-artifact@0c366cb4fc8897159c94880f94b55bc716ad6a66 # master 2026-05-26 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with: with:
name: rustdesk-unsigned-windows-${{ matrix.job.arch }} name: rustdesk-unsigned-windows-${{ matrix.job.arch }}
path: Release path: Release
@@ -512,7 +512,7 @@ jobs:
key: ${{ matrix.job.target }} key: ${{ matrix.job.target }}
- name: Restore bridge files - name: Restore bridge files
uses: actions/download-artifact@2a5974104b6d5dbdb2f9468a3e54da3bdd241578 # master 2026-05-26 uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with: with:
name: bridge-artifact name: bridge-artifact
path: ./ path: ./
@@ -523,7 +523,7 @@ jobs:
cargo build --locked --features flutter,hwcodec --release --target aarch64-apple-ios --lib cargo build --locked --features flutter,hwcodec --release --target aarch64-apple-ios --lib
- name: Upload liblibrustdesk.a Artifacts - name: Upload liblibrustdesk.a Artifacts
uses: actions/upload-artifact@0c366cb4fc8897159c94880f94b55bc716ad6a66 # master 2026-05-26 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with: with:
name: liblibrustdesk.a name: liblibrustdesk.a
path: target/aarch64-apple-ios/release/liblibrustdesk.a path: target/aarch64-apple-ios/release/liblibrustdesk.a
@@ -538,7 +538,7 @@ jobs:
# - name: Upload Artifacts # - name: Upload Artifacts
# # if: env.ANDROID_SIGNING_KEY != null && env.UPLOAD_ARTIFACT == 'true' # # if: env.ANDROID_SIGNING_KEY != null && env.UPLOAD_ARTIFACT == 'true'
# uses: actions/upload-artifact@0c366cb4fc8897159c94880f94b55bc716ad6a66 # master 2026-05-26 # uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
# with: # with:
# name: rustdesk-${{ env.VERSION }}-${{ matrix.job.arch }}.apk # name: rustdesk-${{ env.VERSION }}-${{ matrix.job.arch }}.apk
# path: flutter/build/ios/ipa/*.ipa # path: flutter/build/ios/ipa/*.ipa
@@ -674,7 +674,7 @@ jobs:
prefix-key: ${{ matrix.job.os }} prefix-key: ${{ matrix.job.os }}
- name: Restore bridge files - name: Restore bridge files
uses: actions/download-artifact@2a5974104b6d5dbdb2f9468a3e54da3bdd241578 # master 2026-05-26 uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with: with:
name: bridge-artifact name: bridge-artifact
path: ./ path: ./
@@ -732,7 +732,7 @@ jobs:
- name: Upload unsigned macOS app - name: Upload unsigned macOS app
if: env.UPLOAD_ARTIFACT == 'true' if: env.UPLOAD_ARTIFACT == 'true'
uses: actions/upload-artifact@0c366cb4fc8897159c94880f94b55bc716ad6a66 # master 2026-05-26 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with: with:
name: rustdesk-unsigned-macos-${{ matrix.job.arch }} name: rustdesk-unsigned-macos-${{ matrix.job.arch }}
path: rustdesk-${{ env.VERSION }}-${{ matrix.job.arch }}.dmg # can not upload the directory directly or tar.gz, which destroy the link structure, causing the codesign failed path: rustdesk-${{ env.VERSION }}-${{ matrix.job.arch }}.dmg # can not upload the directory directly or tar.gz, which destroy the link structure, causing the codesign failed
@@ -780,25 +780,25 @@ jobs:
if: ${{ inputs.upload-artifact }} if: ${{ inputs.upload-artifact }}
steps: steps:
- name: Download artifacts - name: Download artifacts
uses: actions/download-artifact@2a5974104b6d5dbdb2f9468a3e54da3bdd241578 # master 2026-05-26 uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with: with:
name: rustdesk-unsigned-macos-x86_64 name: rustdesk-unsigned-macos-x86_64
path: ./ path: ./
- name: Download Artifacts - name: Download Artifacts
uses: actions/download-artifact@2a5974104b6d5dbdb2f9468a3e54da3bdd241578 # master 2026-05-26 uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with: with:
name: rustdesk-unsigned-macos-aarch64 name: rustdesk-unsigned-macos-aarch64
path: ./ path: ./
- name: Download Artifacts - name: Download Artifacts
uses: actions/download-artifact@2a5974104b6d5dbdb2f9468a3e54da3bdd241578 # master 2026-05-26 uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with: with:
name: rustdesk-unsigned-windows-x86_64 name: rustdesk-unsigned-windows-x86_64
path: ./windows-x86_64/ path: ./windows-x86_64/
- name: Download Artifacts - name: Download Artifacts
uses: actions/download-artifact@2a5974104b6d5dbdb2f9468a3e54da3bdd241578 # master 2026-05-26 uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with: with:
name: rustdesk-unsigned-windows-x86 name: rustdesk-unsigned-windows-x86
path: ./windows-x86/ path: ./windows-x86/
@@ -845,7 +845,7 @@ jobs:
} }
steps: steps:
- name: Free Disk Space (Ubuntu) - name: Free Disk Space (Ubuntu)
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # main 2026-05-26 uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1
with: with:
tool-cache: false tool-cache: false
android: false android: false
@@ -955,7 +955,7 @@ jobs:
shell: bash shell: bash
- name: Restore bridge files - name: Restore bridge files
uses: actions/download-artifact@2a5974104b6d5dbdb2f9468a3e54da3bdd241578 # master 2026-05-26 uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with: with:
name: bridge-artifact name: bridge-artifact
path: ./ path: ./
@@ -1002,7 +1002,7 @@ jobs:
esac esac
- name: Upload Rustdesk library to Artifacts - name: Upload Rustdesk library to Artifacts
uses: actions/upload-artifact@0c366cb4fc8897159c94880f94b55bc716ad6a66 # master 2026-05-26 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with: with:
name: librustdesk.so.${{ matrix.job.target }} name: librustdesk.so.${{ matrix.job.target }}
path: ./target/${{ matrix.job.target }}/release/liblibrustdesk.so path: ./target/${{ matrix.job.target }}/release/liblibrustdesk.so
@@ -1083,7 +1083,7 @@ jobs:
- name: Upload Artifacts - name: Upload Artifacts
if: env.ANDROID_SIGNING_KEY != null && env.UPLOAD_ARTIFACT == 'true' if: env.ANDROID_SIGNING_KEY != null && env.UPLOAD_ARTIFACT == 'true'
uses: actions/upload-artifact@0c366cb4fc8897159c94880f94b55bc716ad6a66 # master 2026-05-26 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with: with:
name: rustdesk-${{ env.VERSION }}-${{ matrix.job.arch }}.apk name: rustdesk-${{ env.VERSION }}-${{ matrix.job.arch }}.apk
path: ${{steps.sign-rustdesk.outputs.signedReleaseFile}} path: ${{steps.sign-rustdesk.outputs.signedReleaseFile}}
@@ -1117,7 +1117,7 @@ jobs:
suffix: "" suffix: ""
steps: steps:
- name: Free Disk Space (Ubuntu) - name: Free Disk Space (Ubuntu)
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # main 2026-05-26 uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1
with: with:
tool-cache: false tool-cache: false
android: false android: false
@@ -1186,32 +1186,32 @@ jobs:
[[ "3.24.5" == ${{env.ANDROID_FLUTTER_VERSION}} ]] && git apply ${{ github.workspace }}/.github/patches/flutter_3.24.4_dropdown_menu_enableFilter.diff [[ "3.24.5" == ${{env.ANDROID_FLUTTER_VERSION}} ]] && git apply ${{ github.workspace }}/.github/patches/flutter_3.24.4_dropdown_menu_enableFilter.diff
- name: Restore bridge files - name: Restore bridge files
uses: actions/download-artifact@2a5974104b6d5dbdb2f9468a3e54da3bdd241578 # master 2026-05-26 uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with: with:
name: bridge-artifact name: bridge-artifact
path: ./ path: ./
- name: Download Rustdesk library from Artifacts - name: Download Rustdesk library from Artifacts
uses: actions/download-artifact@2a5974104b6d5dbdb2f9468a3e54da3bdd241578 # master 2026-05-26 uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with: with:
name: librustdesk.so.aarch64-linux-android name: librustdesk.so.aarch64-linux-android
path: ./flutter/android/app/src/main/jniLibs/arm64-v8a path: ./flutter/android/app/src/main/jniLibs/arm64-v8a
- name: Download Rustdesk library from Artifacts - name: Download Rustdesk library from Artifacts
uses: actions/download-artifact@2a5974104b6d5dbdb2f9468a3e54da3bdd241578 # master 2026-05-26 uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with: with:
name: librustdesk.so.armv7-linux-androideabi name: librustdesk.so.armv7-linux-androideabi
path: ./flutter/android/app/src/main/jniLibs/armeabi-v7a path: ./flutter/android/app/src/main/jniLibs/armeabi-v7a
- name: Download Rustdesk library from Artifacts - name: Download Rustdesk library from Artifacts
uses: actions/download-artifact@2a5974104b6d5dbdb2f9468a3e54da3bdd241578 # master 2026-05-26 uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with: with:
name: librustdesk.so.x86_64-linux-android name: librustdesk.so.x86_64-linux-android
path: ./flutter/android/app/src/main/jniLibs/x86_64 path: ./flutter/android/app/src/main/jniLibs/x86_64
- name: Download Rustdesk library from Artifacts - name: Download Rustdesk library from Artifacts
if: ${{ env.reltype == 'debug' }} if: ${{ env.reltype == 'debug' }}
uses: actions/download-artifact@2a5974104b6d5dbdb2f9468a3e54da3bdd241578 # master 2026-05-26 uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with: with:
name: librustdesk.so.i686-linux-android name: librustdesk.so.i686-linux-android
path: ./flutter/android/app/src/main/jniLibs/x86 path: ./flutter/android/app/src/main/jniLibs/x86
@@ -1267,7 +1267,7 @@ jobs:
- name: Upload Artifacts - name: Upload Artifacts
if: env.ANDROID_SIGNING_KEY != null && env.UPLOAD_ARTIFACT == 'true' if: env.ANDROID_SIGNING_KEY != null && env.UPLOAD_ARTIFACT == 'true'
uses: actions/upload-artifact@0c366cb4fc8897159c94880f94b55bc716ad6a66 # master 2026-05-26 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with: with:
name: rustdesk-${{ env.VERSION }}-${{ matrix.job.arch }}.apk name: rustdesk-${{ env.VERSION }}-${{ matrix.job.arch }}.apk
path: ${{steps.sign-rustdesk.outputs.signedReleaseFile}} path: ${{steps.sign-rustdesk.outputs.signedReleaseFile}}
@@ -1341,7 +1341,7 @@ jobs:
- name: Set Swap Space - name: Set Swap Space
if: ${{ matrix.job.arch == 'x86_64' }} if: ${{ matrix.job.arch == 'x86_64' }}
uses: pierotofy/set-swap-space@fc79b3f67fa8a838184ce84a674ca12238d2c761 # master 2026-05-26 uses: pierotofy/set-swap-space@49819abfb41bd9b44fb781159c033dba90353a7c # v1.0
with: with:
swap-size-gb: 12 swap-size-gb: 12
@@ -1370,7 +1370,7 @@ jobs:
- name: Restore bridge files - name: Restore bridge files
if: matrix.job.arch == 'x86_64' || env.UPLOAD_ARTIFACT == 'true' if: matrix.job.arch == 'x86_64' || env.UPLOAD_ARTIFACT == 'true'
uses: actions/download-artifact@2a5974104b6d5dbdb2f9468a3e54da3bdd241578 # master 2026-05-26 uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with: with:
name: bridge-artifact name: bridge-artifact
path: ./ path: ./
@@ -1405,12 +1405,12 @@ jobs:
- name: Restore bridge files - name: Restore bridge files
if: matrix.job.arch == 'x86_64' || env.UPLOAD_ARTIFACT == 'true' if: matrix.job.arch == 'x86_64' || env.UPLOAD_ARTIFACT == 'true'
uses: actions/download-artifact@2a5974104b6d5dbdb2f9468a3e54da3bdd241578 # master 2026-05-26 uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with: with:
name: bridge-artifact name: bridge-artifact
path: ./ path: ./
- uses: rustdesk-org/run-on-arch-action@d3fcfbb632b84cf7f6bc772bfaaa2c2f4f8789a8 # amd64-support 2026-05-26 - uses: rustdesk-org/run-on-arch-action@d3fcfbb632b84cf7f6bc772bfaaa2c2f4f8789a8 # no release tag; commit 2026-05-26
name: Build rustdesk name: Build rustdesk
id: vcpkg id: vcpkg
if: matrix.job.arch == 'x86_64' || env.UPLOAD_ARTIFACT == 'true' if: matrix.job.arch == 'x86_64' || env.UPLOAD_ARTIFACT == 'true'
@@ -1593,7 +1593,7 @@ jobs:
rustdesk-*.rpm rustdesk-*.rpm
- name: Upload deb - name: Upload deb
uses: actions/upload-artifact@0c366cb4fc8897159c94880f94b55bc716ad6a66 # master 2026-05-26 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
if: env.UPLOAD_ARTIFACT == 'true' if: env.UPLOAD_ARTIFACT == 'true'
with: with:
name: rustdesk-${{ env.VERSION }}-${{ matrix.job.arch }}.deb name: rustdesk-${{ env.VERSION }}-${{ matrix.job.arch }}.deb
@@ -1612,7 +1612,7 @@ jobs:
- name: Build archlinux package - name: Build archlinux package
if: matrix.job.arch == 'x86_64' && env.UPLOAD_ARTIFACT == 'true' if: matrix.job.arch == 'x86_64' && env.UPLOAD_ARTIFACT == 'true'
uses: rustdesk-org/arch-makepkg-action@04200739ed1d0bf6f2188b6736b26a767c57a7f9 # master 2026-05-26 uses: rustdesk-org/arch-makepkg-action@04200739ed1d0bf6f2188b6736b26a767c57a7f9 # no release tag; commit 2026-05-26
with: with:
packages: packages:
scripts: | scripts: |
@@ -1694,7 +1694,7 @@ jobs:
RUST_TOOLCHAIN_VERSION=$(cargo --version | awk '{print $2}') RUST_TOOLCHAIN_VERSION=$(cargo --version | awk '{print $2}')
echo "RUST_TOOLCHAIN_VERSION=$RUST_TOOLCHAIN_VERSION" >> $GITHUB_ENV echo "RUST_TOOLCHAIN_VERSION=$RUST_TOOLCHAIN_VERSION" >> $GITHUB_ENV
- uses: rustdesk-org/run-on-arch-action@d3fcfbb632b84cf7f6bc772bfaaa2c2f4f8789a8 # amd64-support 2026-05-26 - uses: rustdesk-org/run-on-arch-action@d3fcfbb632b84cf7f6bc772bfaaa2c2f4f8789a8 # no release tag; commit 2026-05-26
name: Build rustdesk sciter binary for ${{ matrix.job.arch }} name: Build rustdesk sciter binary for ${{ matrix.job.arch }}
id: vcpkg id: vcpkg
with: with:
@@ -1848,7 +1848,7 @@ jobs:
rustdesk-${{ env.VERSION }}-${{ matrix.job.arch }}-sciter.deb rustdesk-${{ env.VERSION }}-${{ matrix.job.arch }}-sciter.deb
- name: Upload deb - name: Upload deb
uses: actions/upload-artifact@0c366cb4fc8897159c94880f94b55bc716ad6a66 # master 2026-05-26 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
if: env.UPLOAD_ARTIFACT == 'true' if: env.UPLOAD_ARTIFACT == 'true'
with: with:
name: rustdesk-${{ env.VERSION }}-${{ matrix.job.arch }}-sciter.deb name: rustdesk-${{ env.VERSION }}-${{ matrix.job.arch }}-sciter.deb
@@ -1872,7 +1872,7 @@ jobs:
submodules: recursive submodules: recursive
- name: Download Binary - name: Download Binary
uses: actions/download-artifact@2a5974104b6d5dbdb2f9468a3e54da3bdd241578 # master 2026-05-26 uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with: with:
name: rustdesk-${{ env.VERSION }}-${{ matrix.job.arch }}.deb name: rustdesk-${{ env.VERSION }}-${{ matrix.job.arch }}.deb
path: . path: .
@@ -1945,7 +1945,7 @@ jobs:
submodules: recursive submodules: recursive
- name: Download Binary - name: Download Binary
uses: actions/download-artifact@2a5974104b6d5dbdb2f9468a3e54da3bdd241578 # master 2026-05-26 uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with: with:
name: rustdesk-${{ env.VERSION }}-${{ matrix.job.arch }}${{ matrix.job.suffix }}.deb name: rustdesk-${{ env.VERSION }}-${{ matrix.job.arch }}${{ matrix.job.suffix }}.deb
path: . path: .
@@ -1954,7 +1954,7 @@ jobs:
run: | run: |
mv rustdesk-${{ env.VERSION }}-${{ matrix.job.arch }}${{ matrix.job.suffix }}.deb flatpak/rustdesk.deb mv rustdesk-${{ env.VERSION }}-${{ matrix.job.arch }}${{ matrix.job.suffix }}.deb flatpak/rustdesk.deb
- uses: rustdesk-org/run-on-arch-action@d3fcfbb632b84cf7f6bc772bfaaa2c2f4f8789a8 # amd64-support 2026-05-26 - uses: rustdesk-org/run-on-arch-action@d3fcfbb632b84cf7f6bc772bfaaa2c2f4f8789a8 # no release tag; commit 2026-05-26
name: Build rustdesk flatpak package for ${{ matrix.job.arch }} name: Build rustdesk flatpak package for ${{ matrix.job.arch }}
id: flatpak id: flatpak
with: with:

View File

@@ -79,21 +79,21 @@ jobs:
} }
steps: steps:
- name: Export GitHub Actions cache environment variables - name: Export GitHub Actions cache environment variables
uses: actions/github-script@v6 uses: actions/github-script@d7906e4ad0b1822421a7e6a35d5ca353c962f410 # v6
with: with:
script: | script: |
core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || ''); core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || '');
core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || ''); core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '');
- name: Checkout source code - name: Checkout source code
uses: actions/checkout@v3 uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
with: with:
ref: ${{ matrix.job.ref }} ref: ${{ matrix.job.ref }}
submodules: recursive submodules: recursive
- name: Import the codesign cert - name: Import the codesign cert
if: env.MACOS_P12_BASE64 != null if: env.MACOS_P12_BASE64 != null
uses: apple-actions/import-codesign-certs@v1 uses: apple-actions/import-codesign-certs@253ddeeac23f2bdad1646faac5c8c2832e800071 # v1
with: with:
p12-file-base64: ${{ secrets.MACOS_P12_BASE64 }} p12-file-base64: ${{ secrets.MACOS_P12_BASE64 }}
p12-password: ${{ secrets.MACOS_P12_PASSWORD }} p12-password: ${{ secrets.MACOS_P12_PASSWORD }}
@@ -107,7 +107,7 @@ jobs:
- name: Import notarize key - name: Import notarize key
if: env.MACOS_P12_BASE64 != null if: env.MACOS_P12_BASE64 != null
uses: timheuer/base64-to-file@v1.2 uses: timheuer/base64-to-file@adaa40c0c581f276132199d4cf60afa07ce60eac # v1.2
with: with:
# https://gregoryszorc.com/docs/apple-codesign/stable/apple_codesign_rcodesign.html#notarizing-and-stapling # https://gregoryszorc.com/docs/apple-codesign/stable/apple_codesign_rcodesign.html#notarizing-and-stapling
fileName: rustdesk.json fileName: rustdesk.json
@@ -129,19 +129,19 @@ jobs:
brew install llvm create-dmg nasm pkg-config brew install llvm create-dmg nasm pkg-config
- name: Install flutter - name: Install flutter
uses: subosito/flutter-action@v2 uses: subosito/flutter-action@1a449444c387b1966244ae4d4f8c696479add0b2 # v2
with: with:
channel: "stable" channel: "stable"
flutter-version: ${{ matrix.job.flutter }} flutter-version: ${{ matrix.job.flutter }}
- name: Install Rust toolchain - name: Install Rust toolchain
uses: dtolnay/rust-toolchain@v1 uses: dtolnay/rust-toolchain@e97e2d8cc328f1b50210efc529dca0028893a2d9 # v1
with: with:
toolchain: ${{ env.RUST_VERSION }} toolchain: ${{ env.RUST_VERSION }}
targets: ${{ matrix.job.target }} targets: ${{ matrix.job.target }}
components: "rustfmt" components: "rustfmt"
- uses: Swatinem/rust-cache@v2 - uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2
with: with:
prefix-key: ${{ matrix.job.os }} prefix-key: ${{ matrix.job.os }}
@@ -156,7 +156,7 @@ jobs:
~/.cargo/bin/flutter_rust_bridge_codegen --rust-input ./src/flutter_ffi.rs --dart-output ./flutter/lib/generated_bridge.dart --c-output ./flutter/macos/Runner/bridge_generated.h ~/.cargo/bin/flutter_rust_bridge_codegen --rust-input ./src/flutter_ffi.rs --dart-output ./flutter/lib/generated_bridge.dart --c-output ./flutter/macos/Runner/bridge_generated.h
- name: Setup vcpkg with Github Actions binary cache - name: Setup vcpkg with Github Actions binary cache
uses: lukka/run-vcpkg@v11 uses: lukka/run-vcpkg@b1a0dd252f06b9e25b3c022a9a03bd7a427fb6a2 # v11
with: with:
vcpkgGitCommitId: ${{ env.VCPKG_COMMIT_ID }} vcpkgGitCommitId: ${{ env.VCPKG_COMMIT_ID }}
@@ -165,7 +165,7 @@ jobs:
$VCPKG_ROOT/vcpkg install --x-install-root="$VCPKG_ROOT/installed" $VCPKG_ROOT/vcpkg install --x-install-root="$VCPKG_ROOT/installed"
- name: Restore from cache and install vcpkg - name: Restore from cache and install vcpkg
uses: lukka/run-vcpkg@v7 uses: lukka/run-vcpkg@8a5116de2b552d6fc8894e9774aacaf2e5db4823 # v7 2026-05-26
if: false if: false
with: with:
setupOnly: true setupOnly: true
@@ -222,7 +222,7 @@ jobs:
done done
- name: Publish DMG package - name: Publish DMG package
uses: softprops/action-gh-release@v1 uses: softprops/action-gh-release@de2c0eb89ae2a093876385947365aca7b0e5f844 # v1
with: with:
prerelease: true prerelease: true
tag_name: ${{ env.TAG_NAME }} tag_name: ${{ env.TAG_NAME }}
@@ -247,7 +247,7 @@ jobs:
} }
steps: steps:
- name: Checkout source code - name: Checkout source code
uses: actions/checkout@v3 uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
with: with:
ref: ${{ matrix.job.ref }} ref: ${{ matrix.job.ref }}
submodules: recursive submodules: recursive
@@ -290,13 +290,13 @@ jobs:
wget wget
- name: Install flutter - name: Install flutter
uses: subosito/flutter-action@v2 uses: subosito/flutter-action@1a449444c387b1966244ae4d4f8c696479add0b2 # v2
with: with:
channel: "stable" channel: "stable"
flutter-version: ${{ env.FLUTTER_VERSION }} flutter-version: ${{ env.FLUTTER_VERSION }}
- name: Install Rust toolchain - name: Install Rust toolchain
uses: dtolnay/rust-toolchain@v1 uses: dtolnay/rust-toolchain@e97e2d8cc328f1b50210efc529dca0028893a2d9 # v1
with: with:
toolchain: ${{ env.RUST_VERSION }} toolchain: ${{ env.RUST_VERSION }}
components: "rustfmt" components: "rustfmt"
@@ -310,14 +310,14 @@ jobs:
pushd flutter ; flutter pub get ; popd 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 ~/.cargo/bin/flutter_rust_bridge_codegen --rust-input ./src/flutter_ffi.rs --dart-output ./flutter/lib/generated_bridge.dart
- uses: nttld/setup-ndk@v1 - uses: nttld/setup-ndk@ed92fe6cadad69be94a966a7ee3271275e62f779 # v1
id: setup-ndk id: setup-ndk
with: with:
ndk-version: ${{ env.NDK_VERSION }} ndk-version: ${{ env.NDK_VERSION }}
add-to-path: true add-to-path: true
- name: Setup vcpkg with Github Actions binary cache - name: Setup vcpkg with Github Actions binary cache
uses: lukka/run-vcpkg@v11 uses: lukka/run-vcpkg@b1a0dd252f06b9e25b3c022a9a03bd7a427fb6a2 # v11
with: with:
vcpkgDirectory: /opt/artifacts/vcpkg vcpkgDirectory: /opt/artifacts/vcpkg
vcpkgGitCommitId: ${{ env.VCPKG_COMMIT_ID }} vcpkgGitCommitId: ${{ env.VCPKG_COMMIT_ID }}
@@ -395,7 +395,7 @@ jobs:
mkdir -p signed-apk; pushd signed-apk mkdir -p signed-apk; pushd signed-apk
mv ../rustdesk-${{ env.VERSION }}-${{ matrix.job.arch }}.apk ./rustdesk-test-${{ matrix.job.ref }}-${{ matrix.job.ndk }}.apk mv ../rustdesk-${{ env.VERSION }}-${{ matrix.job.arch }}.apk ./rustdesk-test-${{ matrix.job.ref }}-${{ matrix.job.ndk }}.apk
- uses: r0adkll/sign-android-release@v1 - uses: r0adkll/sign-android-release@349ebdef58775b1e0d8099458af0816dc79b6407 # v1
name: Sign app APK name: Sign app APK
if: env.ANDROID_SIGNING_KEY != null if: env.ANDROID_SIGNING_KEY != null
id: sign-rustdesk id: sign-rustdesk
@@ -410,7 +410,7 @@ jobs:
BUILD_TOOLS_VERSION: "30.0.2" BUILD_TOOLS_VERSION: "30.0.2"
- name: Publish signed apk package - name: Publish signed apk package
uses: softprops/action-gh-release@v1 uses: softprops/action-gh-release@de2c0eb89ae2a093876385947365aca7b0e5f844 # v1
with: with:
prerelease: true prerelease: true
tag_name: ${{ env.TAG_NAME }} tag_name: ${{ env.TAG_NAME }}

View File

@@ -39,7 +39,7 @@ jobs:
build_output_dir: RustDeskTempTopMostWindow/WindowInjection/${{ inputs.platform }}/${{ inputs.configuration }} build_output_dir: RustDeskTempTopMostWindow/WindowInjection/${{ inputs.platform }}/${{ inputs.configuration }}
steps: steps:
- name: Add MSBuild to PATH - name: Add MSBuild to PATH
uses: microsoft/setup-msbuild@v2 uses: microsoft/setup-msbuild@6fb02220983dee41ce7ae257b6f4d8f9bf5ed4ce # v2
- name: Download the source code - name: Download the source code
run: | run: |
@@ -52,7 +52,7 @@ jobs:
msbuild ${{ env.project_path }} -p:Configuration=${{ inputs.configuration }} -p:Platform=${{ inputs.platform }} /p:TargetVersion=${{ inputs.target_version }} msbuild ${{ env.project_path }} -p:Configuration=${{ inputs.configuration }} -p:Platform=${{ inputs.platform }} /p:TargetVersion=${{ inputs.target_version }}
- name: Archive build artifacts - name: Archive build artifacts
uses: actions/upload-artifact@master uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
if: ${{ inputs.upload-artifact }} if: ${{ inputs.upload-artifact }}
with: with:
name: topmostwindow-artifacts name: topmostwindow-artifacts