added bridge.yml
This commit is contained in:
		
							
								
								
									
										91
									
								
								.github/workflows/bridge.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										91
									
								
								.github/workflows/bridge.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,91 @@ | ||||
| # This yaml shares the build bridge steps with ci and nightly. | ||||
| name: Build flutter-rust-bridge | ||||
| # 2023-11-23 18:00:00+00:00 | ||||
|  | ||||
| on: | ||||
|   workflow_call: | ||||
|  | ||||
| env: | ||||
|   FLUTTER_VERSION: "3.19.6" | ||||
|   FLUTTER_RUST_BRIDGE_VERSION: "1.80.1" | ||||
|   RUST_VERSION: "1.75" # https://github.com/rustdesk/rustdesk/discussions/7503 | ||||
|  | ||||
| jobs: | ||||
|   generate_bridge: | ||||
|     runs-on: ${{ matrix.job.os }} | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         job: | ||||
|           - { | ||||
|               target: x86_64-unknown-linux-gnu, | ||||
|               os: ubuntu-20.04, | ||||
|               extra-build-args: "", | ||||
|             } | ||||
|     steps: | ||||
|       - name: Checkout source code | ||||
|         uses: actions/checkout@v4 | ||||
|  | ||||
|       - name: Install prerequisites | ||||
|         run: | | ||||
|           sudo apt-get install ca-certificates -y | ||||
|           sudo apt-get update -y | ||||
|           sudo apt-get install -y \ | ||||
|             clang \ | ||||
|             cmake \ | ||||
|             curl \ | ||||
|             gcc \ | ||||
|             git \ | ||||
|             g++ \ | ||||
|             libclang-10-dev \ | ||||
|             libgtk-3-dev \ | ||||
|             llvm-10-dev \ | ||||
|             nasm \ | ||||
|             ninja-build \ | ||||
|             pkg-config \ | ||||
|             wget | ||||
|  | ||||
|       - name: Install Rust toolchain | ||||
|         uses: dtolnay/rust-toolchain@v1 | ||||
|         with: | ||||
|           toolchain: ${{ env.RUST_VERSION }} | ||||
|           targets: ${{ matrix.job.target }} | ||||
|           components: "rustfmt" | ||||
|  | ||||
|       - uses: Swatinem/rust-cache@v2 | ||||
|         with: | ||||
|           prefix-key: bridge-${{ matrix.job.os }} | ||||
|  | ||||
|       - name: Cache Bridge | ||||
|         id: cache-bridge | ||||
|         uses: actions/cache@v3 | ||||
|         with: | ||||
|           path: /tmp/flutter_rust_bridge | ||||
|           key: vcpkg-${{ matrix.job.arch }} | ||||
|  | ||||
|       - name: Install flutter | ||||
|         uses: subosito/flutter-action@v2 | ||||
|         with: | ||||
|           channel: "stable" | ||||
|           flutter-version: ${{ env.FLUTTER_VERSION }} | ||||
|           cache: true | ||||
|  | ||||
|       - name: Install flutter rust bridge deps | ||||
|         shell: bash | ||||
|         run: | | ||||
|           cargo install flutter_rust_bridge_codegen --version ${{ env.FLUTTER_RUST_BRIDGE_VERSION }} --features "uuid" | ||||
|           pushd flutter && flutter pub get && popd | ||||
|  | ||||
|       - name: Run flutter rust bridge | ||||
|         run: | | ||||
|           ~/.cargo/bin/flutter_rust_bridge_codegen --rust-input ./src/flutter_ffi.rs --dart-output ./flutter/lib/generated_bridge.dart | ||||
|  | ||||
|       - name: Upload Artifact | ||||
|         uses: actions/upload-artifact@master | ||||
|         with: | ||||
|           name: bridge-artifact | ||||
|           path: | | ||||
|             ./src/bridge_generated.rs | ||||
|             ./src/bridge_generated.io.rs | ||||
|             ./flutter/lib/generated_bridge.dart | ||||
|             ./flutter/lib/generated_bridge.freezed.dart | ||||
							
								
								
									
										60
									
								
								.github/workflows/third-party-RustDeskTempTopMostWindow.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										60
									
								
								.github/workflows/third-party-RustDeskTempTopMostWindow.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,60 @@ | ||||
| name: build RustDeskTempTopMostWindow | ||||
|  | ||||
| on: | ||||
|   workflow_call: | ||||
|     inputs: | ||||
|         upload-artifact: | ||||
|           type: boolean | ||||
|           default: true | ||||
|         target: | ||||
|             description: 'Target' | ||||
|             required: true | ||||
|             type: string | ||||
|             default: 'windows-2022' | ||||
|         configuration: | ||||
|             description: 'Configuration' | ||||
|             required: true | ||||
|             type: string | ||||
|             default: 'Release' | ||||
|         platform: | ||||
|             description: 'Platform' | ||||
|             required: true | ||||
|             type: string | ||||
|             default: 'x64' | ||||
|         target_version: | ||||
|             description: 'TargetVersion' | ||||
|             required: true | ||||
|             type: string | ||||
|             default: 'Windows10' | ||||
|  | ||||
| env: | ||||
|   project_path: WindowInjection/WindowInjection.vcxproj | ||||
|  | ||||
| jobs: | ||||
|   build-RustDeskTempTopMostWindow: | ||||
|     runs-on: ${{ inputs.target }} | ||||
|     strategy: | ||||
|         fail-fast: false | ||||
|     env: | ||||
|       build_output_dir: RustDeskTempTopMostWindow/WindowInjection/${{ inputs.platform }}/${{ inputs.configuration }} | ||||
|     steps: | ||||
|       - name: Add MSBuild to PATH | ||||
|         uses: microsoft/setup-msbuild@v2 | ||||
|  | ||||
|       - name: Download the source code | ||||
|         run: | | ||||
|           git clone https://github.com/rustdesk-org/RustDeskTempTopMostWindow RustDeskTempTopMostWindow | ||||
|  | ||||
|         # Build. commit 53b548a5398624f7149a382000397993542ad796 is tag v0.3 | ||||
|       - name: Build the project | ||||
|         run: | | ||||
|           cd RustDeskTempTopMostWindow && git checkout 53b548a5398624f7149a382000397993542ad796 | ||||
|           msbuild ${{ env.project_path }} -p:Configuration=${{ inputs.configuration }} -p:Platform=${{ inputs.platform }} /p:TargetVersion=${{ inputs.target_version }} | ||||
|  | ||||
|       - name: Archive build artifacts | ||||
|         uses: actions/upload-artifact@master | ||||
|         if: ${{ inputs.upload-artifact }} | ||||
|         with: | ||||
|             name: topmostwindow-artifacts | ||||
|             path: | | ||||
|               ./${{ env.build_output_dir }}/WindowInjection.dll | ||||
		Reference in New Issue
	
	Block a user