Fix CI
* Drop third party lib repos * Now all vcpkg dependencies are declared in vcpkg.json * Implement vcpkg binary caching in Github Actions Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>
This commit is contained in:
parent
8bf57f1293
commit
97aeee7172
22
.github/workflows/bridge.yml
vendored
22
.github/workflows/bridge.yml
vendored
@ -27,9 +27,25 @@ jobs:
|
|||||||
|
|
||||||
- name: Install prerequisites
|
- name: Install prerequisites
|
||||||
run: |
|
run: |
|
||||||
sudo apt install ca-certificates -y
|
sudo apt-get install ca-certificates -y
|
||||||
sudo apt update -y
|
sudo apt-get update -y
|
||||||
sudo apt install -y g++ gcc git curl wget nasm yasm libgtk-3-dev clang cmake libclang-dev ninja-build llvm-dev libclang-10-dev llvm-10-dev pkg-config
|
sudo apt-get install -y \
|
||||||
|
clang \
|
||||||
|
cmake \
|
||||||
|
curl \
|
||||||
|
gcc \
|
||||||
|
git \
|
||||||
|
g++ \
|
||||||
|
libclang-10-dev \
|
||||||
|
libclang-dev \
|
||||||
|
libgtk-3-dev \
|
||||||
|
llvm-10-dev \
|
||||||
|
llvm-dev \
|
||||||
|
nasm \
|
||||||
|
ninja-build \
|
||||||
|
pkg-config \
|
||||||
|
wget \
|
||||||
|
yasm
|
||||||
|
|
||||||
- name: Install Rust toolchain
|
- name: Install Rust toolchain
|
||||||
uses: actions-rs/toolchain@v1
|
uses: actions-rs/toolchain@v1
|
||||||
|
47
.github/workflows/ci.yml
vendored
47
.github/workflows/ci.yml
vendored
@ -1,8 +1,12 @@
|
|||||||
name: CI
|
name: CI
|
||||||
|
|
||||||
# env:
|
env:
|
||||||
# MIN_SUPPORTED_RUST_VERSION: "1.46.0"
|
# MIN_SUPPORTED_RUST_VERSION: "1.46.0"
|
||||||
# CICD_INTERMEDIATES_DIR: "_cicd-intermediates"
|
# CICD_INTERMEDIATES_DIR: "_cicd-intermediates"
|
||||||
|
VCPKG_BINARY_SOURCES: "clear;x-gha,readwrite"
|
||||||
|
# vcpkg version: 2023.10.19
|
||||||
|
# for multiarch gcc compatibility
|
||||||
|
VCPKG_COMMIT_ID: "8eb57355a4ffb410a2e94c07b4dca2dffbee8e50"
|
||||||
|
|
||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
@ -76,6 +80,13 @@ jobs:
|
|||||||
- { target: x86_64-unknown-linux-gnu , os: ubuntu-20.04 }
|
- { target: x86_64-unknown-linux-gnu , os: ubuntu-20.04 }
|
||||||
# - { target: x86_64-unknown-linux-musl , os: ubuntu-20.04, use-cross: true }
|
# - { target: x86_64-unknown-linux-musl , os: ubuntu-20.04, use-cross: true }
|
||||||
steps:
|
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
|
- name: Checkout source code
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
@ -83,20 +94,42 @@ jobs:
|
|||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
case ${{ matrix.job.target }} in
|
case ${{ matrix.job.target }} in
|
||||||
x86_64-unknown-linux-gnu) sudo apt-get -y update ; sudo apt install -y g++ gcc git curl wget nasm yasm libgtk-3-dev clang libxcb-randr0-dev libxdo-dev libxfixes-dev libxcb-shape0-dev libxcb-xfixes0-dev libasound2-dev libpulse-dev cmake libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev;;
|
x86_64-unknown-linux-gnu)
|
||||||
|
sudo apt-get -y update
|
||||||
|
sudo apt-get install -y \
|
||||||
|
clang \
|
||||||
|
cmake \
|
||||||
|
curl \
|
||||||
|
gcc \
|
||||||
|
git \
|
||||||
|
g++ \
|
||||||
|
libasound2-dev \
|
||||||
|
libgstreamer1.0-dev \
|
||||||
|
libgstreamer-plugins-base1.0-dev \
|
||||||
|
libgtk-3-dev \
|
||||||
|
libpulse-dev \
|
||||||
|
libxcb-randr0-dev \
|
||||||
|
libxcb-shape0-dev \
|
||||||
|
libxcb-xfixes0-dev \
|
||||||
|
libxdo-dev \
|
||||||
|
libxfixes-dev \
|
||||||
|
nasm \
|
||||||
|
wget \
|
||||||
|
yasm
|
||||||
|
;;
|
||||||
# arm-unknown-linux-*) sudo apt-get -y update ; sudo apt-get -y install gcc-arm-linux-gnueabihf ;;
|
# arm-unknown-linux-*) sudo apt-get -y update ; sudo apt-get -y install gcc-arm-linux-gnueabihf ;;
|
||||||
# aarch64-unknown-linux-gnu) sudo apt-get -y update ; sudo apt-get -y install gcc-aarch64-linux-gnu ;;
|
# aarch64-unknown-linux-gnu) sudo apt-get -y update ; sudo apt-get -y install gcc-aarch64-linux-gnu ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
- name: Restore from cache and install vcpkg
|
- name: Setup vcpkg with Github Actions binary cache
|
||||||
uses: lukka/run-vcpkg@v7
|
uses: lukka/run-vcpkg@v11
|
||||||
with:
|
with:
|
||||||
setupOnly: true
|
vcpkgDirectory: /opt/artifacts/vcpkg
|
||||||
vcpkgGitCommitId: '501db0f17ef6df184fcdbfbe0f87cde2313b6ab1' #2023.04.15
|
vcpkgGitCommitId: ${{ env.VCPKG_COMMIT_ID }}
|
||||||
|
|
||||||
- name: Install vcpkg dependencies
|
- name: Install vcpkg dependencies
|
||||||
run: |
|
run: |
|
||||||
$VCPKG_ROOT/vcpkg install libvpx libyuv opus aom
|
$VCPKG_ROOT/vcpkg install --x-install-root="$VCPKG_ROOT/installed"
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
- name: Install Rust toolchain
|
- name: Install Rust toolchain
|
||||||
|
485
.github/workflows/flutter-build.yml
vendored
485
.github/workflows/flutter-build.yml
vendored
@ -16,14 +16,15 @@ env:
|
|||||||
FLUTTER_VERSION: "3.13.9"
|
FLUTTER_VERSION: "3.13.9"
|
||||||
FLUTTER_RUST_BRIDGE_VERSION: "1.80.1"
|
FLUTTER_RUST_BRIDGE_VERSION: "1.80.1"
|
||||||
# for arm64 linux
|
# for arm64 linux
|
||||||
FLUTTER_ELINUX_VERSION: "3.10.6"
|
FLUTTER_ELINUX_VERSION: "3.13.9"
|
||||||
FLUTTER_ELINUX_COMMIT_ID: "410b3ca42f2cd0c485edf517a1666652bab442d4"
|
FLUTTER_ELINUX_COMMIT_ID: "f4d4205893c16b0aa9cb6ba46b9f32b639d3b057"
|
||||||
TAG_NAME: "${{ inputs.upload-tag }}"
|
TAG_NAME: "${{ inputs.upload-tag }}"
|
||||||
# vcpkg version: 2023.04.15
|
VCPKG_BINARY_SOURCES: "clear;x-gha,readwrite"
|
||||||
|
# vcpkg version: 2023.10.19
|
||||||
# for multiarch gcc compatibility
|
# for multiarch gcc compatibility
|
||||||
VCPKG_COMMIT_ID: "501db0f17ef6df184fcdbfbe0f87cde2313b6ab1"
|
VCPKG_COMMIT_ID: "8eb57355a4ffb410a2e94c07b4dca2dffbee8e50"
|
||||||
VERSION: "1.2.4"
|
VERSION: "1.2.4"
|
||||||
NDK_VERSION: "r25c"
|
NDK_VERSION: "r26b"
|
||||||
#signing keys env variable checks
|
#signing keys env variable checks
|
||||||
ANDROID_SIGNING_KEY: '${{ secrets.ANDROID_SIGNING_KEY }}'
|
ANDROID_SIGNING_KEY: '${{ secrets.ANDROID_SIGNING_KEY }}'
|
||||||
MACOS_P12_BASE64: '${{ secrets.MACOS_P12_BASE64 }}'
|
MACOS_P12_BASE64: '${{ secrets.MACOS_P12_BASE64 }}'
|
||||||
@ -45,6 +46,13 @@ jobs:
|
|||||||
- { target: x86_64-pc-windows-msvc, os: windows-2019, arch: x86_64 }
|
- { target: x86_64-pc-windows-msvc, os: windows-2019, arch: x86_64 }
|
||||||
# - { target: aarch64-pc-windows-msvc, os: windows-2019, arch: aarch64 }
|
# - { target: aarch64-pc-windows-msvc, os: windows-2019, arch: aarch64 }
|
||||||
steps:
|
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
|
- name: Checkout source code
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
@ -87,14 +95,18 @@ jobs:
|
|||||||
Push-Location flutter ; flutter pub get ; Pop-Location
|
Push-Location flutter ; flutter pub get ; Pop-Location
|
||||||
~/.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
|
||||||
|
|
||||||
|
- name: Setup vcpkg with Github Actions binary cache
|
||||||
|
uses: lukka/run-vcpkg@v11
|
||||||
|
with:
|
||||||
|
vcpkgDirectory: C:\vcpkg
|
||||||
|
vcpkgGitCommitId: ${{ env.VCPKG_COMMIT_ID }}
|
||||||
|
|
||||||
- name: Install vcpkg dependencies
|
- name: Install vcpkg dependencies
|
||||||
run: |
|
run: |
|
||||||
cd C:\
|
$VCPKG_ROOT/vcpkg install --triplet x64-windows-static --x-install-root="$VCPKG_ROOT/installed"
|
||||||
git clone https://github.com/Kingtous/rustdesk_thirdpary_lib --depth=1
|
shell: bash
|
||||||
|
|
||||||
- name: Build rustdesk
|
- name: Build rustdesk
|
||||||
env:
|
|
||||||
VCPKG_ROOT: C:\rustdesk_thirdpary_lib\vcpkg
|
|
||||||
run: python3 .\build.py --portable --hwcodec --flutter --feature IddDriver
|
run: python3 .\build.py --portable --hwcodec --flutter --feature IddDriver
|
||||||
|
|
||||||
- name: find Runner.res
|
- name: find Runner.res
|
||||||
@ -169,6 +181,13 @@ jobs:
|
|||||||
- { target: i686-pc-windows-msvc, os: windows-2019, arch: x86 }
|
- { target: i686-pc-windows-msvc, os: windows-2019, arch: x86 }
|
||||||
# - { target: aarch64-pc-windows-msvc, os: windows-2019 }
|
# - { target: aarch64-pc-windows-msvc, os: windows-2019 }
|
||||||
steps:
|
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
|
- name: Checkout source code
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
@ -189,22 +208,20 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
prefix-key: ${{ matrix.job.os }}-sciter
|
prefix-key: ${{ matrix.job.os }}-sciter
|
||||||
|
|
||||||
- name: Restore from cache and install vcpkg
|
- name: Setup vcpkg with Github Actions binary cache
|
||||||
uses: lukka/run-vcpkg@v7
|
uses: lukka/run-vcpkg@v11
|
||||||
with:
|
with:
|
||||||
setupOnly: true
|
vcpkgDirectory: C:\vcpkg
|
||||||
vcpkgGitCommitId: ${{ env.VCPKG_COMMIT_ID }}
|
vcpkgGitCommitId: ${{ env.VCPKG_COMMIT_ID }}
|
||||||
|
|
||||||
- name: Install vcpkg dependencies
|
- name: Install vcpkg dependencies
|
||||||
run: |
|
run: |
|
||||||
cd C:\
|
$VCPKG_ROOT/vcpkg install --triplet x86-windows-static --x-install-root="$VCPKG_ROOT/installed"
|
||||||
git clone https://github.com/Kingtous/rustdesk_thirdpary_lib --depth=1
|
shell: bash
|
||||||
|
|
||||||
- name: Build rustdesk
|
- name: Build rustdesk
|
||||||
id: build
|
id: build
|
||||||
shell: bash
|
shell: bash
|
||||||
env:
|
|
||||||
VCPKG_ROOT: C:\rustdesk_thirdpary_lib\vcpkg
|
|
||||||
run: |
|
run: |
|
||||||
python3 res/inline-sciter.py
|
python3 res/inline-sciter.py
|
||||||
# Patch sciter x86
|
# Patch sciter x86
|
||||||
@ -285,6 +302,13 @@ jobs:
|
|||||||
arch: x86_64
|
arch: x86_64
|
||||||
}
|
}
|
||||||
steps:
|
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
|
- name: Checkout source code
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
@ -350,15 +374,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 --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: Restore from cache and install vcpkg
|
- name: Setup vcpkg with Github Actions binary cache
|
||||||
uses: lukka/run-vcpkg@v7
|
uses: lukka/run-vcpkg@v11
|
||||||
with:
|
with:
|
||||||
setupOnly: true
|
|
||||||
vcpkgGitCommitId: ${{ env.VCPKG_COMMIT_ID }}
|
vcpkgGitCommitId: ${{ env.VCPKG_COMMIT_ID }}
|
||||||
|
|
||||||
- name: Install vcpkg dependencies
|
- name: Install vcpkg dependencies
|
||||||
run: |
|
run: |
|
||||||
$VCPKG_ROOT/vcpkg install libvpx libyuv opus aom
|
$VCPKG_ROOT/vcpkg install --x-install-root="$VCPKG_ROOT/installed"
|
||||||
|
|
||||||
- name: Show version information (Rust, cargo, Clang)
|
- name: Show version information (Rust, cargo, Clang)
|
||||||
shell: bash
|
shell: bash
|
||||||
@ -403,9 +426,6 @@ jobs:
|
|||||||
files: |
|
files: |
|
||||||
rustdesk*-${{ matrix.job.arch }}.dmg
|
rustdesk*-${{ matrix.job.arch }}.dmg
|
||||||
|
|
||||||
build-vcpkg-deps-linux:
|
|
||||||
uses: ./.github/workflows/vcpkg-deps-linux.yml
|
|
||||||
|
|
||||||
generate-bridge-linux:
|
generate-bridge-linux:
|
||||||
uses: ./.github/workflows/bridge.yml
|
uses: ./.github/workflows/bridge.yml
|
||||||
|
|
||||||
@ -425,6 +445,13 @@ jobs:
|
|||||||
extra-build-features: "",
|
extra-build-features: "",
|
||||||
}
|
}
|
||||||
steps:
|
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: Install dependencies
|
- name: Install dependencies
|
||||||
run: |
|
run: |
|
||||||
brew install nasm yasm
|
brew install nasm yasm
|
||||||
@ -436,11 +463,15 @@ jobs:
|
|||||||
channel: "stable"
|
channel: "stable"
|
||||||
flutter-version: ${{ env.FLUTTER_VERSION }}
|
flutter-version: ${{ env.FLUTTER_VERSION }}
|
||||||
|
|
||||||
- name: Clone deps
|
- name: Setup vcpkg with Github Actions binary cache
|
||||||
shell: bash
|
uses: lukka/run-vcpkg@v11
|
||||||
|
with:
|
||||||
|
vcpkgGitCommitId: ${{ env.VCPKG_COMMIT_ID }}
|
||||||
|
|
||||||
|
- name: Install vcpkg dependencies
|
||||||
run: |
|
run: |
|
||||||
pushd /opt
|
$VCPKG_ROOT/vcpkg install --triplet arm64-ios --x-install-root="$VCPKG_ROOT/installed"
|
||||||
sudo git clone https://github.com/rustdesk-org/rustdesk_thirdparty_lib.git --depth=1
|
shell: bash
|
||||||
|
|
||||||
- name: Restore bridge files
|
- name: Restore bridge files
|
||||||
uses: actions/download-artifact@master
|
uses: actions/download-artifact@master
|
||||||
@ -458,7 +489,7 @@ jobs:
|
|||||||
|
|
||||||
- uses: Swatinem/rust-cache@v2
|
- uses: Swatinem/rust-cache@v2
|
||||||
with:
|
with:
|
||||||
prefix-key: rustdesk-lib-cache
|
prefix-key: rustdesk-lib-cache-ios
|
||||||
key: ${{ matrix.job.target }}-${{ matrix.job.extra-build-features }}
|
key: ${{ matrix.job.target }}-${{ matrix.job.extra-build-features }}
|
||||||
|
|
||||||
- name: Install flutter rust bridge deps
|
- name: Install flutter rust bridge deps
|
||||||
@ -469,8 +500,6 @@ jobs:
|
|||||||
~/.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
|
~/.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
|
- name: Build rustdesk lib
|
||||||
env:
|
|
||||||
VCPKG_ROOT: /opt/rustdesk_thirdparty_lib/vcpkg
|
|
||||||
run: |
|
run: |
|
||||||
rustup target add ${{ matrix.job.target }}
|
rustup target add ${{ matrix.job.target }}
|
||||||
cargo build --features flutter --release --target aarch64-apple-ios --lib
|
cargo build --features flutter --release --target aarch64-apple-ios --lib
|
||||||
@ -499,7 +528,6 @@ jobs:
|
|||||||
# files: |
|
# files: |
|
||||||
# flutter/build/ios/ipa/*.ipa
|
# flutter/build/ios/ipa/*.ipa
|
||||||
|
|
||||||
|
|
||||||
build-rustdesk-android:
|
build-rustdesk-android:
|
||||||
needs: [generate-bridge-linux]
|
needs: [generate-bridge-linux]
|
||||||
name: build rustdesk android apk ${{ matrix.job.target }} (${{ matrix.job.os }}) [${{ matrix.job.extra-build-features }}]
|
name: build rustdesk android apk ${{ matrix.job.target }} (${{ matrix.job.os }}) [${{ matrix.job.extra-build-features }}]
|
||||||
@ -523,10 +551,51 @@ jobs:
|
|||||||
openssl-arch: android-arm
|
openssl-arch: android-arm
|
||||||
}
|
}
|
||||||
steps:
|
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: Install dependencies
|
- name: Install dependencies
|
||||||
run: |
|
run: |
|
||||||
sudo apt update
|
sudo apt-get update
|
||||||
sudo apt-get -qq install -y git curl wget nasm yasm libgtk-3-dev clang libxcb-randr0-dev libxdo-dev libxfixes-dev libxcb-shape0-dev libxcb-xfixes0-dev libasound2-dev libpulse-dev cmake libclang-dev ninja-build libappindicator3-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libvdpau-dev libva-dev libpam0g-dev libclang-dev llvm-dev libclang-10-dev llvm-10-dev pkg-config tree g++ libc6-dev gcc-multilib g++-multilib openjdk-11-jdk-headless
|
sudo apt-get install -y \
|
||||||
|
clang \
|
||||||
|
cmake \
|
||||||
|
curl \
|
||||||
|
gcc-multilib \
|
||||||
|
git \
|
||||||
|
g++ \
|
||||||
|
g++-multilib \
|
||||||
|
libappindicator3-dev \
|
||||||
|
libasound2-dev \
|
||||||
|
libc6-dev \
|
||||||
|
libclang-10-dev \
|
||||||
|
libclang-dev \
|
||||||
|
libgstreamer1.0-dev \
|
||||||
|
libgstreamer-plugins-base1.0-dev \
|
||||||
|
libgtk-3-dev \
|
||||||
|
libpam0g-dev \
|
||||||
|
libpulse-dev \
|
||||||
|
libva-dev \
|
||||||
|
libvdpau-dev \
|
||||||
|
libxcb-randr0-dev \
|
||||||
|
libxcb-shape0-dev \
|
||||||
|
libxcb-xfixes0-dev \
|
||||||
|
libxdo-dev \
|
||||||
|
libxfixes-dev \
|
||||||
|
llvm-10-dev \
|
||||||
|
llvm-dev \
|
||||||
|
nasm \
|
||||||
|
ninja-build \
|
||||||
|
openjdk-11-jdk-headless \
|
||||||
|
pkg-config \
|
||||||
|
tree \
|
||||||
|
wget \
|
||||||
|
yasm
|
||||||
|
|
||||||
- name: Checkout source code
|
- name: Checkout source code
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
- name: Install flutter
|
- name: Install flutter
|
||||||
@ -540,11 +609,23 @@ jobs:
|
|||||||
ndk-version: ${{ env.NDK_VERSION }}
|
ndk-version: ${{ env.NDK_VERSION }}
|
||||||
add-to-path: true
|
add-to-path: true
|
||||||
|
|
||||||
- name: Clone deps
|
- name: Setup vcpkg with Github Actions binary cache
|
||||||
shell: bash
|
uses: lukka/run-vcpkg@v11
|
||||||
|
with:
|
||||||
|
vcpkgDirectory: /opt/artifacts/vcpkg
|
||||||
|
vcpkgGitCommitId: ${{ env.VCPKG_COMMIT_ID }}
|
||||||
|
|
||||||
|
- name: Install vcpkg dependencies
|
||||||
run: |
|
run: |
|
||||||
pushd /opt
|
case ${{ matrix.job.target }} in
|
||||||
git clone https://github.com/rustdesk-org/rustdesk_thirdparty_lib.git --depth=1
|
aarch64-linux-android)
|
||||||
|
./flutter/build_android_deps.sh arm64-v8a
|
||||||
|
;;
|
||||||
|
armv7-linux-androideabi)
|
||||||
|
./flutter/build_android_deps.sh armeabi-v7a
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
shell: bash
|
||||||
|
|
||||||
- name: Restore bridge files
|
- name: Restore bridge files
|
||||||
uses: actions/download-artifact@master
|
uses: actions/download-artifact@master
|
||||||
@ -561,14 +642,13 @@ jobs:
|
|||||||
|
|
||||||
- uses: Swatinem/rust-cache@v2
|
- uses: Swatinem/rust-cache@v2
|
||||||
with:
|
with:
|
||||||
prefix-key: rustdesk-lib-cache
|
prefix-key: rustdesk-lib-cache-android # TODO: drop '-android' part after caches are invalidated
|
||||||
key: ${{ matrix.job.target }}-${{ matrix.job.extra-build-features }}
|
key: ${{ matrix.job.target }}-${{ matrix.job.extra-build-features }}
|
||||||
|
|
||||||
- name: Build rustdesk lib
|
- name: Build rustdesk lib
|
||||||
env:
|
env:
|
||||||
ANDROID_NDK_HOME: ${{ steps.setup-ndk.outputs.ndk-path }}
|
ANDROID_NDK_HOME: ${{ steps.setup-ndk.outputs.ndk-path }}
|
||||||
ANDROID_NDK_ROOT: ${{ steps.setup-ndk.outputs.ndk-path }}
|
ANDROID_NDK_ROOT: ${{ steps.setup-ndk.outputs.ndk-path }}
|
||||||
VCPKG_ROOT: /opt/rustdesk_thirdparty_lib/vcpkg
|
|
||||||
run: |
|
run: |
|
||||||
rustup target add ${{ matrix.job.target }}
|
rustup target add ${{ matrix.job.target }}
|
||||||
cargo install cargo-ndk --version ${{ env.CARGO_NDK_VERSION }}
|
cargo install cargo-ndk --version ${{ env.CARGO_NDK_VERSION }}
|
||||||
@ -596,7 +676,7 @@ jobs:
|
|||||||
case ${{ matrix.job.target }} in
|
case ${{ matrix.job.target }} in
|
||||||
aarch64-linux-android)
|
aarch64-linux-android)
|
||||||
mkdir -p ./flutter/android/app/src/main/jniLibs/arm64-v8a
|
mkdir -p ./flutter/android/app/src/main/jniLibs/arm64-v8a
|
||||||
cp /opt/rustdesk_thirdparty_lib/android/app/src/main/jniLibs/arm64-v8a/*.so ./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
|
cp ./target/${{ matrix.job.target }}/release/liblibrustdesk.so ./flutter/android/app/src/main/jniLibs/arm64-v8a/librustdesk.so
|
||||||
# build flutter
|
# build flutter
|
||||||
pushd flutter
|
pushd flutter
|
||||||
@ -605,7 +685,7 @@ jobs:
|
|||||||
;;
|
;;
|
||||||
armv7-linux-androideabi)
|
armv7-linux-androideabi)
|
||||||
mkdir -p ./flutter/android/app/src/main/jniLibs/armeabi-v7a
|
mkdir -p ./flutter/android/app/src/main/jniLibs/armeabi-v7a
|
||||||
cp /opt/rustdesk_thirdparty_lib/android/app/src/main/jniLibs/armeabi-v7a/*.so ./flutter/android/app/src/main/jniLibs/armeabi-v7a/
|
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
|
cp ./target/${{ matrix.job.target }}/release/liblibrustdesk.so ./flutter/android/app/src/main/jniLibs/armeabi-v7a/librustdesk.so
|
||||||
# build flutter
|
# build flutter
|
||||||
pushd flutter
|
pushd flutter
|
||||||
@ -657,7 +737,7 @@ jobs:
|
|||||||
signed-apk/rustdesk-${{ env.VERSION }}-${{ matrix.job.arch }}.apk
|
signed-apk/rustdesk-${{ env.VERSION }}-${{ matrix.job.arch }}.apk
|
||||||
|
|
||||||
build-rustdesk-lib-linux-amd64:
|
build-rustdesk-lib-linux-amd64:
|
||||||
needs: [generate-bridge-linux, build-vcpkg-deps-linux]
|
needs: [generate-bridge-linux]
|
||||||
name: build-rust-lib ${{ matrix.job.target }} (${{ matrix.job.os }}) [${{ matrix.job.extra-build-features }}]
|
name: build-rust-lib ${{ matrix.job.target }} (${{ matrix.job.os }}) [${{ matrix.job.extra-build-features }}]
|
||||||
runs-on: ${{ matrix.job.os }}
|
runs-on: ${{ matrix.job.os }}
|
||||||
strategy:
|
strategy:
|
||||||
@ -690,13 +770,20 @@ jobs:
|
|||||||
}
|
}
|
||||||
# - { target: x86_64-unknown-linux-musl , os: ubuntu-20.04, use-cross: true }
|
# - { target: x86_64-unknown-linux-musl , os: ubuntu-20.04, use-cross: true }
|
||||||
steps:
|
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: Maximize build space
|
- name: Maximize build space
|
||||||
run: |
|
run: |
|
||||||
sudo rm -rf /opt/ghc
|
sudo rm -rf /opt/ghc
|
||||||
sudo rm -rf /usr/local/lib/android
|
sudo rm -rf /usr/local/lib/android
|
||||||
sudo rm -rf /usr/share/dotnet
|
sudo rm -rf /usr/share/dotnet
|
||||||
sudo apt update -y
|
sudo apt-get update -y
|
||||||
sudo apt install qemu-user-static -y
|
sudo apt-get install -y nasm qemu-user-static yasm
|
||||||
|
|
||||||
- name: Checkout source code
|
- name: Checkout source code
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
@ -735,11 +822,16 @@ jobs:
|
|||||||
name: bridge-artifact
|
name: bridge-artifact
|
||||||
path: ./
|
path: ./
|
||||||
|
|
||||||
- name: Restore vcpkg files
|
- name: Setup vcpkg with Github Actions binary cache
|
||||||
uses: actions/download-artifact@master
|
uses: lukka/run-vcpkg@v11
|
||||||
with:
|
with:
|
||||||
name: vcpkg-artifact-${{ matrix.job.arch }}
|
vcpkgDirectory: /opt/artifacts/vcpkg
|
||||||
path: /opt/artifacts/vcpkg/installed
|
vcpkgGitCommitId: ${{ env.VCPKG_COMMIT_ID }}
|
||||||
|
|
||||||
|
- name: Install vcpkg dependencies
|
||||||
|
run: |
|
||||||
|
$VCPKG_ROOT/vcpkg install --x-install-root="$VCPKG_ROOT/installed"
|
||||||
|
shell: bash
|
||||||
|
|
||||||
- uses: rustdesk-org/run-on-arch-action@amd64-support
|
- uses: rustdesk-org/run-on-arch-action@amd64-support
|
||||||
name: Build rustdesk library for ${{ matrix.job.arch }}
|
name: Build rustdesk library for ${{ matrix.job.arch }}
|
||||||
@ -758,11 +850,41 @@ jobs:
|
|||||||
--volume "/opt/artifacts:/opt/artifacts"
|
--volume "/opt/artifacts:/opt/artifacts"
|
||||||
shell: /bin/bash
|
shell: /bin/bash
|
||||||
install: |
|
install: |
|
||||||
apt update -y
|
apt-get update -y
|
||||||
echo -e "installing deps"
|
echo -e "installing deps"
|
||||||
apt-get -qq install -y git curl wget nasm yasm libgtk-3-dev clang libxcb-randr0-dev libxdo-dev libxfixes-dev libxcb-shape0-dev libxcb-xfixes0-dev libasound2-dev libpulse-dev cmake libclang-dev ninja-build libappindicator3-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libvdpau-dev libva-dev libpam0g-dev libclang-dev llvm-dev libclang-10-dev llvm-10-dev pkg-config tree g++ gcc libvpx-dev tree > /dev/null
|
apt-get install -y \
|
||||||
|
clang \
|
||||||
|
cmake \
|
||||||
|
curl \
|
||||||
|
gcc \
|
||||||
|
git \
|
||||||
|
g++ \
|
||||||
|
libappindicator3-dev \
|
||||||
|
libasound2-dev \
|
||||||
|
libclang-10-dev \
|
||||||
|
libclang-dev \
|
||||||
|
libgstreamer1.0-dev \
|
||||||
|
libgstreamer-plugins-base1.0-dev \
|
||||||
|
libgtk-3-dev \
|
||||||
|
libpam0g-dev \
|
||||||
|
libpulse-dev \
|
||||||
|
libva-dev \
|
||||||
|
libvdpau-dev \
|
||||||
|
libxcb-randr0-dev \
|
||||||
|
libxcb-shape0-dev \
|
||||||
|
libxcb-xfixes0-dev \
|
||||||
|
libxdo-dev \
|
||||||
|
libxfixes-dev \
|
||||||
|
llvm-10-dev \
|
||||||
|
llvm-dev \
|
||||||
|
nasm \
|
||||||
|
ninja-build \
|
||||||
|
pkg-config \
|
||||||
|
tree \
|
||||||
|
wget \
|
||||||
|
yasm
|
||||||
# we have libopus compiled by us.
|
# we have libopus compiled by us.
|
||||||
apt remove -y libopus-dev || true
|
apt-get remove -y libopus-dev || true
|
||||||
# output devs
|
# output devs
|
||||||
ls -l ./
|
ls -l ./
|
||||||
tree -L 3 /opt/artifacts/vcpkg/installed
|
tree -L 3 /opt/artifacts/vcpkg/installed
|
||||||
@ -806,7 +928,7 @@ jobs:
|
|||||||
|
|
||||||
build-rustdesk-lib-linux-arm:
|
build-rustdesk-lib-linux-arm:
|
||||||
if: ${{ inputs.upload-artifact }}
|
if: ${{ inputs.upload-artifact }}
|
||||||
needs: [generate-bridge-linux, build-vcpkg-deps-linux]
|
needs: [generate-bridge-linux]
|
||||||
name: build-rust-lib ${{ matrix.job.target }} (${{ matrix.job.os }}) [${{ matrix.job.extra-build-features }}]
|
name: build-rust-lib ${{ matrix.job.target }} (${{ matrix.job.os }}) [${{ matrix.job.extra-build-features }}]
|
||||||
runs-on: [self-hosted, Linux, ARM64]
|
runs-on: [self-hosted, Linux, ARM64]
|
||||||
strategy:
|
strategy:
|
||||||
@ -841,13 +963,29 @@ jobs:
|
|||||||
# - { arch: armv7, target: armv7-unknown-linux-gnueabihf , os: ubuntu-20.04, use-cross: true, extra-build-features: "appimage" }
|
# - { arch: armv7, target: armv7-unknown-linux-gnueabihf , os: ubuntu-20.04, use-cross: true, extra-build-features: "appimage" }
|
||||||
# - { target: arm-unknown-linux-musleabihf, os: ubuntu-20.04, use-cross: true }
|
# - { target: arm-unknown-linux-musleabihf, os: ubuntu-20.04, use-cross: true }
|
||||||
steps:
|
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: Install dependencies
|
||||||
|
run: |
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install -y \
|
||||||
|
crossbuild-essential-arm64 \
|
||||||
|
nasm \
|
||||||
|
pkg-config \
|
||||||
|
yasm
|
||||||
|
|
||||||
#- name: Maximize build space
|
#- name: Maximize build space
|
||||||
# run: |
|
# run: |
|
||||||
# sudo rm -rf /opt/ghc
|
# sudo rm -rf /opt/ghc
|
||||||
# sudo rm -rf /usr/local/lib/android
|
# sudo rm -rf /usr/local/lib/android
|
||||||
# sudo rm -rf /usr/share/dotnet
|
# sudo rm -rf /usr/share/dotnet
|
||||||
# sudo apt update -y
|
# sudo apt-get update -y
|
||||||
# sudo apt install qemu-user-static -y
|
# sudo apt-get install qemu-user-static -y
|
||||||
|
|
||||||
- name: Checkout source code
|
- name: Checkout source code
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
@ -886,11 +1024,23 @@ jobs:
|
|||||||
name: bridge-artifact
|
name: bridge-artifact
|
||||||
path: ./
|
path: ./
|
||||||
|
|
||||||
- name: Restore vcpkg files
|
- name: Setup vcpkg with Github Actions binary cache
|
||||||
uses: actions/download-artifact@master
|
uses: lukka/run-vcpkg@v11
|
||||||
with:
|
with:
|
||||||
name: vcpkg-artifact-${{ matrix.job.arch }}
|
vcpkgDirectory: /opt/artifacts/vcpkg
|
||||||
path: /opt/artifacts/vcpkg/installed
|
vcpkgGitCommitId: ${{ env.VCPKG_COMMIT_ID }}
|
||||||
|
|
||||||
|
- name: Install vcpkg dependencies
|
||||||
|
run: |
|
||||||
|
case ${{ matrix.job.target }} in
|
||||||
|
aarch64-unknown-linux-gnu)
|
||||||
|
$VCPKG_ROOT/vcpkg install --triplet arm64-linux --x-install-root="$VCPKG_ROOT/installed"
|
||||||
|
;;
|
||||||
|
armv7-unknown-linux-gnueabihf)
|
||||||
|
$VCPKG_ROOT/vcpkg install --triplet arm-linux --x-install-root="$VCPKG_ROOT/installed"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
shell: bash
|
||||||
|
|
||||||
- uses: rustdesk-org/run-on-arch-action@amd64-support
|
- uses: rustdesk-org/run-on-arch-action@amd64-support
|
||||||
name: Build rustdesk library for ${{ matrix.job.arch }}
|
name: Build rustdesk library for ${{ matrix.job.arch }}
|
||||||
@ -907,11 +1057,41 @@ jobs:
|
|||||||
--volume "/opt/artifacts:/opt/artifacts"
|
--volume "/opt/artifacts:/opt/artifacts"
|
||||||
shell: /bin/bash
|
shell: /bin/bash
|
||||||
install: |
|
install: |
|
||||||
apt update -y
|
apt-get update -y
|
||||||
echo -e "installing deps"
|
echo -e "installing deps"
|
||||||
apt-get -qq install -y git curl wget nasm yasm libgtk-3-dev clang libxcb-randr0-dev libxdo-dev libxfixes-dev libxcb-shape0-dev libxcb-xfixes0-dev libasound2-dev libpulse-dev cmake libclang-dev ninja-build libappindicator3-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libvdpau-dev libva-dev libpam0g-dev libclang-dev llvm-dev libclang-10-dev llvm-10-dev pkg-config tree g++ gcc libvpx-dev tree > /dev/null
|
apt-get install -y \
|
||||||
|
clang \
|
||||||
|
cmake \
|
||||||
|
curl \
|
||||||
|
gcc \
|
||||||
|
git \
|
||||||
|
g++ \
|
||||||
|
libappindicator3-dev \
|
||||||
|
libasound2-dev \
|
||||||
|
libclang-10-dev \
|
||||||
|
libclang-dev \
|
||||||
|
libgstreamer1.0-dev \
|
||||||
|
libgstreamer-plugins-base1.0-dev \
|
||||||
|
libgtk-3-dev \
|
||||||
|
libpam0g-dev \
|
||||||
|
libpulse-dev \
|
||||||
|
libva-dev \
|
||||||
|
libvdpau-dev \
|
||||||
|
libxcb-randr0-dev \
|
||||||
|
libxcb-shape0-dev \
|
||||||
|
libxcb-xfixes0-dev \
|
||||||
|
libxdo-dev \
|
||||||
|
libxfixes-dev \
|
||||||
|
llvm-10-dev \
|
||||||
|
llvm-dev \
|
||||||
|
nasm \
|
||||||
|
ninja-build \
|
||||||
|
pkg-config \
|
||||||
|
tree \
|
||||||
|
wget \
|
||||||
|
yasm
|
||||||
# we have libopus compiled by us.
|
# we have libopus compiled by us.
|
||||||
apt remove -y libopus-dev || true
|
apt-get remove -y libopus-dev || true
|
||||||
# output devs
|
# output devs
|
||||||
ls -l ./
|
ls -l ./
|
||||||
tree -L 3 /opt/artifacts/vcpkg/installed
|
tree -L 3 /opt/artifacts/vcpkg/installed
|
||||||
@ -950,7 +1130,6 @@ jobs:
|
|||||||
|
|
||||||
build-rustdesk-sciter-arm:
|
build-rustdesk-sciter-arm:
|
||||||
if: ${{ inputs.upload-artifact }}
|
if: ${{ inputs.upload-artifact }}
|
||||||
needs: [build-vcpkg-deps-linux]
|
|
||||||
name: build-rustdesk(sciter) ${{ matrix.job.target }} (${{ matrix.job.os }}) [${{ matrix.job.extra-build-features }}]
|
name: build-rustdesk(sciter) ${{ matrix.job.target }} (${{ matrix.job.os }}) [${{ matrix.job.extra-build-features }}]
|
||||||
runs-on: [self-hosted, Linux, ARM64]
|
runs-on: [self-hosted, Linux, ARM64]
|
||||||
strategy:
|
strategy:
|
||||||
@ -970,14 +1149,29 @@ jobs:
|
|||||||
# - { arch: armv7, target: armv7-unknown-linux-gnueabihf , os: ubuntu-20.04, use-cross: true, extra-build-features: "appimage" }
|
# - { arch: armv7, target: armv7-unknown-linux-gnueabihf , os: ubuntu-20.04, use-cross: true, extra-build-features: "appimage" }
|
||||||
# - { target: arm-unknown-linux-musleabihf, os: ubuntu-20.04, use-cross: true }
|
# - { target: arm-unknown-linux-musleabihf, os: ubuntu-20.04, use-cross: true }
|
||||||
steps:
|
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: Install dependencies
|
||||||
|
run: |
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install -y \
|
||||||
|
crossbuild-essential-armhf \
|
||||||
|
nasm \
|
||||||
|
pkg-config \
|
||||||
|
yasm
|
||||||
|
|
||||||
#- name: Maximize build space
|
#- name: Maximize build space
|
||||||
# run: |
|
# run: |
|
||||||
# sudo rm -rf /opt/ghc
|
# sudo rm -rf /opt/ghc
|
||||||
# sudo rm -rf /usr/local/lib/android
|
# sudo rm -rf /usr/local/lib/android
|
||||||
# sudo rm -rf /usr/share/dotnet
|
# sudo rm -rf /usr/share/dotnet
|
||||||
# sudo apt update -y
|
# sudo apt-get update -y
|
||||||
# sudo apt install qemu-user-static -y
|
# sudo apt-get install qemu-user-static -y
|
||||||
|
|
||||||
- name: Checkout source code
|
- name: Checkout source code
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
@ -1005,11 +1199,16 @@ 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
|
||||||
|
|
||||||
- name: Restore vcpkg files
|
- name: Setup vcpkg with Github Actions binary cache
|
||||||
uses: actions/download-artifact@master
|
uses: lukka/run-vcpkg@v11
|
||||||
with:
|
with:
|
||||||
name: vcpkg-artifact-${{ matrix.job.arch }}
|
vcpkgDirectory: /opt/artifacts/vcpkg
|
||||||
path: /opt/artifacts/vcpkg/installed
|
vcpkgGitCommitId: ${{ env.VCPKG_COMMIT_ID }}
|
||||||
|
|
||||||
|
- name: Install vcpkg dependencies
|
||||||
|
run: |
|
||||||
|
$VCPKG_ROOT/vcpkg install --triplet arm-linux --x-install-root="$VCPKG_ROOT/installed"
|
||||||
|
shell: bash
|
||||||
|
|
||||||
- uses: rustdesk-org/run-on-arch-action@amd64-support
|
- uses: rustdesk-org/run-on-arch-action@amd64-support
|
||||||
name: Build rustdesk sciter binary for ${{ matrix.job.arch }}
|
name: Build rustdesk sciter binary for ${{ matrix.job.arch }}
|
||||||
@ -1025,10 +1224,42 @@ jobs:
|
|||||||
--volume "/opt/artifacts:/opt/artifacts"
|
--volume "/opt/artifacts:/opt/artifacts"
|
||||||
shell: /bin/bash
|
shell: /bin/bash
|
||||||
install: |
|
install: |
|
||||||
apt update -y
|
apt-get update -y
|
||||||
apt-get -qq install -y git cmake g++ gcc build-essential nasm yasm curl unzip xz-utils python3 wget pkg-config ninja-build pkg-config libgtk-3-dev liblzma-dev clang libappindicator3-dev rpm libclang-dev
|
apt-get install -y \
|
||||||
apt-get -qq install -y libdbus-1-dev pkg-config nasm yasm libglib2.0-dev libxcb-randr0-dev libxdo-dev libxfixes-dev libxcb-shape0-dev libxcb-xfixes0-dev libasound2-dev
|
build-essential \
|
||||||
apt-get -qq install -y libpulse-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libvpx-dev libvdpau-dev libva-dev libpam0g-dev
|
clang \
|
||||||
|
cmake \
|
||||||
|
curl \
|
||||||
|
gcc \
|
||||||
|
git \
|
||||||
|
g++ \
|
||||||
|
libappindicator3-dev \
|
||||||
|
libasound2-dev \
|
||||||
|
libclang-dev \
|
||||||
|
libdbus-1-dev \
|
||||||
|
libglib2.0-dev \
|
||||||
|
libgstreamer1.0-dev \
|
||||||
|
libgstreamer-plugins-base1.0-dev \
|
||||||
|
libgtk-3-dev \
|
||||||
|
liblzma-dev \
|
||||||
|
libpam0g-dev \
|
||||||
|
libpulse-dev \
|
||||||
|
libva-dev \
|
||||||
|
libvdpau-dev \
|
||||||
|
libxcb-randr0-dev \
|
||||||
|
libxcb-shape0-dev \
|
||||||
|
libxcb-xfixes0-dev \
|
||||||
|
libxdo-dev \
|
||||||
|
libxfixes-dev \
|
||||||
|
nasm \
|
||||||
|
ninja-build \
|
||||||
|
pkg-config \
|
||||||
|
python3 \
|
||||||
|
rpm \
|
||||||
|
unzip \
|
||||||
|
wget \
|
||||||
|
xz-utils \
|
||||||
|
yasm
|
||||||
run: |
|
run: |
|
||||||
# disable git safe.directory
|
# disable git safe.directory
|
||||||
git config --global --add safe.directory "*"
|
git config --global --add safe.directory "*"
|
||||||
@ -1133,8 +1364,15 @@ jobs:
|
|||||||
|
|
||||||
- name: Prepare env
|
- name: Prepare env
|
||||||
run: |
|
run: |
|
||||||
sudo apt update -y
|
sudo apt-get update -y
|
||||||
sudo apt-get -qq install -y git curl wget nasm yasm libgtk-3-dev libarchive-tools
|
sudo apt-get install -y \
|
||||||
|
curl \
|
||||||
|
git \
|
||||||
|
libarchive-tools \
|
||||||
|
libgtk-3-dev \
|
||||||
|
nasm \
|
||||||
|
wget \
|
||||||
|
yasm
|
||||||
mkdir -p ./target/release/
|
mkdir -p ./target/release/
|
||||||
|
|
||||||
- name: Restore the rustdesk lib file
|
- name: Restore the rustdesk lib file
|
||||||
@ -1171,8 +1409,27 @@ jobs:
|
|||||||
--volume "/opt/flutter-elinux:/opt/flutter-elinux"
|
--volume "/opt/flutter-elinux:/opt/flutter-elinux"
|
||||||
shell: /bin/bash
|
shell: /bin/bash
|
||||||
install: |
|
install: |
|
||||||
apt update -y
|
apt-get update -y
|
||||||
apt-get -qq install -y git cmake g++ gcc build-essential nasm yasm curl unzip xz-utils python3 wget pkg-config ninja-build pkg-config libgtk-3-dev liblzma-dev clang libappindicator3-dev rpm
|
apt-get install -y \
|
||||||
|
build-essential \
|
||||||
|
clang \
|
||||||
|
cmake \
|
||||||
|
curl \
|
||||||
|
gcc \
|
||||||
|
git \
|
||||||
|
g++ \
|
||||||
|
libappindicator3-dev \
|
||||||
|
libgtk-3-dev \
|
||||||
|
liblzma-dev \
|
||||||
|
nasm \
|
||||||
|
ninja-build \
|
||||||
|
pkg-config \
|
||||||
|
python3 \
|
||||||
|
rpm \
|
||||||
|
unzip \
|
||||||
|
wget \
|
||||||
|
xz-utils \
|
||||||
|
yasm
|
||||||
run: |
|
run: |
|
||||||
# disable git safe.directory
|
# disable git safe.directory
|
||||||
git config --global --add safe.directory "*"
|
git config --global --add safe.directory "*"
|
||||||
@ -1393,8 +1650,15 @@ jobs:
|
|||||||
|
|
||||||
- name: Prepare env
|
- name: Prepare env
|
||||||
run: |
|
run: |
|
||||||
sudo apt update -y
|
sudo apt-get update -y
|
||||||
sudo apt-get -qq install -y git curl wget nasm yasm libgtk-3-dev libarchive-tools
|
sudo apt-get install -y \
|
||||||
|
curl \
|
||||||
|
git \
|
||||||
|
libarchive-tools \
|
||||||
|
libgtk-3-dev \
|
||||||
|
nasm \
|
||||||
|
wget \
|
||||||
|
yasm
|
||||||
mkdir -p ./target/release/
|
mkdir -p ./target/release/
|
||||||
|
|
||||||
- name: Restore the rustdesk lib file
|
- name: Restore the rustdesk lib file
|
||||||
@ -1417,8 +1681,27 @@ jobs:
|
|||||||
--volume "/opt/artifacts:/opt/artifacts"
|
--volume "/opt/artifacts:/opt/artifacts"
|
||||||
shell: /bin/bash
|
shell: /bin/bash
|
||||||
install: |
|
install: |
|
||||||
apt update -y
|
apt-get update -y
|
||||||
apt-get -qq install -y git cmake g++ gcc build-essential nasm yasm curl unzip xz-utils python3 wget pkg-config ninja-build pkg-config libgtk-3-dev liblzma-dev clang libappindicator3-dev rpm
|
apt-get install -y \
|
||||||
|
build-essential \
|
||||||
|
clang \
|
||||||
|
cmake \
|
||||||
|
curl \
|
||||||
|
gcc \
|
||||||
|
git \
|
||||||
|
g++ \
|
||||||
|
libappindicator3-dev \
|
||||||
|
libgtk-3-dev \
|
||||||
|
liblzma-dev \
|
||||||
|
nasm \
|
||||||
|
ninja-build \
|
||||||
|
pkg-config \
|
||||||
|
python3 \
|
||||||
|
rpm \
|
||||||
|
unzip \
|
||||||
|
wget \
|
||||||
|
xz-utils \
|
||||||
|
yasm
|
||||||
run: |
|
run: |
|
||||||
# disable git safe.directory
|
# disable git safe.directory
|
||||||
git config --global --add safe.directory "*"
|
git config --global --add safe.directory "*"
|
||||||
@ -1605,13 +1888,24 @@ jobs:
|
|||||||
# --volume "${PWD}:/workspace"
|
# --volume "${PWD}:/workspace"
|
||||||
# shell: /bin/bash
|
# shell: /bin/bash
|
||||||
# install: |
|
# install: |
|
||||||
# apt update -y
|
# apt-get update -y
|
||||||
# apt install -y rpm
|
# apt-get install -y rpm
|
||||||
# run: |
|
# run: |
|
||||||
# pushd /workspace
|
# pushd /workspace
|
||||||
# # install
|
# # install
|
||||||
# apt update -y
|
# apt-get update -y
|
||||||
# apt install -y flatpak flatpak-builder cmake g++ gcc git curl wget nasm yasm libgtk-3-dev git
|
# apt-get install -y \
|
||||||
|
# cmake \
|
||||||
|
# curl \
|
||||||
|
# flatpak \
|
||||||
|
# flatpak-builder \
|
||||||
|
# gcc \
|
||||||
|
# git \
|
||||||
|
# g++ \
|
||||||
|
# libgtk-3-dev \
|
||||||
|
# nasm \
|
||||||
|
# wget \
|
||||||
|
# yasm
|
||||||
# # flatpak deps
|
# # flatpak deps
|
||||||
# flatpak --user remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
# flatpak --user remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
||||||
# flatpak --user install -y flathub org.freedesktop.Platform/${{ matrix.job.arch }}/23.08
|
# flatpak --user install -y flathub org.freedesktop.Platform/${{ matrix.job.arch }}/23.08
|
||||||
@ -1666,15 +1960,30 @@ jobs:
|
|||||||
--volume "${PWD}:/workspace"
|
--volume "${PWD}:/workspace"
|
||||||
shell: /bin/bash
|
shell: /bin/bash
|
||||||
install: |
|
install: |
|
||||||
apt update -y
|
apt-get update -y
|
||||||
apt install -y rpm git wget curl
|
apt-get install -y \
|
||||||
|
curl \
|
||||||
|
git \
|
||||||
|
rpm \
|
||||||
|
wget
|
||||||
run: |
|
run: |
|
||||||
# disable git safe.directory
|
# disable git safe.directory
|
||||||
git config --global --add safe.directory "*"
|
git config --global --add safe.directory "*"
|
||||||
pushd /workspace
|
pushd /workspace
|
||||||
# install
|
# install
|
||||||
apt update -y
|
apt-get update -y
|
||||||
apt install -y flatpak flatpak-builder cmake g++ gcc git curl wget nasm yasm libgtk-3-dev git
|
apt-get install -y \
|
||||||
|
cmake \
|
||||||
|
curl \
|
||||||
|
flatpak \
|
||||||
|
flatpak-builder \
|
||||||
|
gcc \
|
||||||
|
git \
|
||||||
|
g++ \
|
||||||
|
libgtk-3-dev \
|
||||||
|
nasm \
|
||||||
|
wget \
|
||||||
|
yasm
|
||||||
# flatpak deps
|
# flatpak deps
|
||||||
flatpak --user remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
flatpak --user remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
||||||
flatpak --user install -y flathub org.freedesktop.Platform/${{ matrix.job.arch }}/23.08
|
flatpak --user install -y flathub org.freedesktop.Platform/${{ matrix.job.arch }}/23.08
|
||||||
|
1
.github/workflows/flutter-ci.yml
vendored
1
.github/workflows/flutter-ci.yml
vendored
@ -19,4 +19,3 @@ jobs:
|
|||||||
uses: ./.github/workflows/flutter-build.yml
|
uses: ./.github/workflows/flutter-build.yml
|
||||||
with:
|
with:
|
||||||
upload-artifact: false
|
upload-artifact: false
|
||||||
|
|
||||||
|
16
.github/workflows/history.yml
vendored
16
.github/workflows/history.yml
vendored
@ -7,9 +7,7 @@ env:
|
|||||||
FLUTTER_VERSION: "3.13.9"
|
FLUTTER_VERSION: "3.13.9"
|
||||||
TAG_NAME: "tmp"
|
TAG_NAME: "tmp"
|
||||||
FLUTTER_RUST_BRIDGE_VERSION: "1.80.1"
|
FLUTTER_RUST_BRIDGE_VERSION: "1.80.1"
|
||||||
# vcpkg version: 2022.05.10
|
VCPKG_BINARY_SOURCES: "clear;x-gha,readwrite"
|
||||||
# for multiarch gcc compatibility
|
|
||||||
VCPKG_COMMIT_ID: "501db0f17ef6df184fcdbfbe0f87cde2313b6ab1"
|
|
||||||
VERSION: "1.2.4"
|
VERSION: "1.2.4"
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
@ -54,14 +52,18 @@ jobs:
|
|||||||
Push-Location flutter ; flutter pub get ; Pop-Location
|
Push-Location flutter ; flutter pub get ; Pop-Location
|
||||||
~/.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
|
||||||
|
|
||||||
|
- name: Setup vcpkg with Github Actions binary cache
|
||||||
|
uses: lukka/run-vcpkg@v11
|
||||||
|
with:
|
||||||
|
vcpkgDirectory: C:\vcpkg
|
||||||
|
vcpkgGitCommitId: ${{ env.VCPKG_COMMIT_ID }}
|
||||||
|
|
||||||
- name: Install vcpkg dependencies
|
- name: Install vcpkg dependencies
|
||||||
run: |
|
run: |
|
||||||
cd C:\
|
$VCPKG_ROOT/vcpkg install --x-install-root="$VCPKG_ROOT/installed"
|
||||||
git clone https://github.com/Kingtous/rustdesk_thirdpary_lib --depth=1
|
shell: bash
|
||||||
|
|
||||||
- name: Build rustdesk
|
- name: Build rustdesk
|
||||||
env:
|
|
||||||
VCPKG_ROOT: C:\rustdesk_thirdpary_lib\vcpkg
|
|
||||||
run: python3 .\build.py --portable --hwcodec --flutter --feature IddDriver
|
run: python3 .\build.py --portable --hwcodec --flutter --feature IddDriver
|
||||||
|
|
||||||
- name: Build self-extracted executable
|
- name: Build self-extracted executable
|
||||||
|
92
.github/workflows/vcpkg-deps-linux.yml
vendored
92
.github/workflows/vcpkg-deps-linux.yml
vendored
@ -1,92 +0,0 @@
|
|||||||
name: Build vcpkg dependencies for linux clients
|
|
||||||
|
|
||||||
on:
|
|
||||||
workflow_call:
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build-vcpkg-deps-linux:
|
|
||||||
runs-on: ${{ matrix.job.os }}
|
|
||||||
strategy:
|
|
||||||
fail-fast: true
|
|
||||||
matrix:
|
|
||||||
job:
|
|
||||||
- { arch: armv7, os: ubuntu-20.04 }
|
|
||||||
- { arch: x86_64, os: ubuntu-20.04 }
|
|
||||||
- { arch: aarch64, os: ubuntu-20.04 }
|
|
||||||
steps:
|
|
||||||
- name: Create vcpkg artifacts folder
|
|
||||||
run: mkdir -p /opt/artifacts
|
|
||||||
|
|
||||||
- name: Cache Vcpkg
|
|
||||||
id: cache-vcpkg
|
|
||||||
uses: actions/cache@v3
|
|
||||||
with:
|
|
||||||
path: /opt/artifacts
|
|
||||||
key: vcpkg-${{ matrix.job.arch }}
|
|
||||||
|
|
||||||
- uses: rustdesk-org/run-on-arch-action@amd64-support
|
|
||||||
name: Run vcpkg install on ${{ matrix.job.arch }}
|
|
||||||
id: vcpkg
|
|
||||||
with:
|
|
||||||
arch: ${{ matrix.job.arch }}
|
|
||||||
distro: ubuntu18.04
|
|
||||||
githubToken: ${{ github.token }}
|
|
||||||
setup: |
|
|
||||||
ls -l "/opt/artifacts"
|
|
||||||
dockerRunArgs: |
|
|
||||||
--volume "/opt/artifacts:/artifacts"
|
|
||||||
shell: /bin/bash
|
|
||||||
install: |
|
|
||||||
apt update -y
|
|
||||||
case "${{ matrix.job.arch }}" in
|
|
||||||
x86_64)
|
|
||||||
apt update -y
|
|
||||||
apt install -y curl zip unzip tar git g++ gcc build-essential pkg-config wget nasm yasm ninja-build libjpeg8-dev libssl-dev
|
|
||||||
wget https://github.com/Kitware/CMake/releases/download/v3.27.5/cmake-3.27.5.tar.gz
|
|
||||||
apt remove -y --purge cmake
|
|
||||||
tar -zxvf cmake-3.27.5.tar.gz
|
|
||||||
cd cmake-3.27.5
|
|
||||||
./bootstrap
|
|
||||||
make
|
|
||||||
make install
|
|
||||||
cd -
|
|
||||||
cmake --version
|
|
||||||
gcc -v
|
|
||||||
;;
|
|
||||||
aarch64|armv7)
|
|
||||||
apt install -y curl zip unzip git
|
|
||||||
esac
|
|
||||||
run: |
|
|
||||||
# disable git safe.directory
|
|
||||||
git config --global --add safe.directory "*"
|
|
||||||
case "${{ matrix.job.arch }}" in
|
|
||||||
x86_64)
|
|
||||||
export VCPKG_FORCE_SYSTEM_BINARIES=1
|
|
||||||
pushd /artifacts
|
|
||||||
git clone https://github.com/microsoft/vcpkg.git || true
|
|
||||||
pushd vcpkg
|
|
||||||
git reset --hard ${{ env.VCPKG_COMMIT_ID }}
|
|
||||||
./bootstrap-vcpkg.sh
|
|
||||||
./vcpkg install libvpx libyuv opus aom
|
|
||||||
;;
|
|
||||||
aarch64)
|
|
||||||
pushd /artifacts
|
|
||||||
rm -rf rustdesk_thirdparty_lib
|
|
||||||
git clone https://github.com/Kingtous/rustdesk_thirdparty_lib.git --depth=1
|
|
||||||
mkdir -p /artifacts/vcpkg/installed
|
|
||||||
mv ./rustdesk_thirdparty_lib/vcpkg/installed/arm64-linux /artifacts/vcpkg/installed/arm64-linux
|
|
||||||
;;
|
|
||||||
armv7)
|
|
||||||
pushd /artifacts
|
|
||||||
rm -rf rustdesk_thirdparty_lib
|
|
||||||
git clone https://github.com/Kingtous/rustdesk_thirdparty_lib.git --depth=1
|
|
||||||
mkdir -p /artifacts/vcpkg/installed
|
|
||||||
mv ./rustdesk_thirdparty_lib/vcpkg/installed/arm-linux /artifacts/vcpkg/installed/arm-linux
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
- name: Upload artifacts
|
|
||||||
uses: actions/upload-artifact@master
|
|
||||||
with:
|
|
||||||
name: vcpkg-artifact-${{ matrix.job.arch }}
|
|
||||||
path: |
|
|
||||||
/opt/artifacts/vcpkg/installed
|
|
Loading…
Reference in New Issue
Block a user