Merge pull request #3775 from open-trade/master
build history and arm64 for windows/Mac
This commit is contained in:
		
						commit
						2fdb8c65ae
					
				
							
								
								
									
										6
									
								
								.github/workflows/flutter-nightly.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								.github/workflows/flutter-nightly.yml
									
									
									
									
										vendored
									
									
								
							| @ -33,6 +33,7 @@ jobs: | ||||
|           # - { target: i686-pc-windows-msvc        , os: windows-2019                  } | ||||
|           # - { target: x86_64-pc-windows-gnu       , os: windows-2019                  } | ||||
|           - { target: x86_64-pc-windows-msvc, os: windows-2019 } | ||||
|           - { target: aarch64-pc-windows-msvc, os: windows-2019 } | ||||
|     steps: | ||||
|       - name: Checkout source code | ||||
|         uses: actions/checkout@v3 | ||||
| @ -145,6 +146,11 @@ jobs: | ||||
|               os: macos-latest, | ||||
|               extra-build-args: "", | ||||
|             } | ||||
|           - { | ||||
|               target: aarch64-apple-darwin, | ||||
|               os: macos-latest, | ||||
|               extra-build-args: "", | ||||
|             } | ||||
|     steps: | ||||
|       - name: Checkout source code | ||||
|         uses: actions/checkout@v3 | ||||
|  | ||||
							
								
								
									
										370
									
								
								.github/workflows/history.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										370
									
								
								.github/workflows/history.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,370 @@ | ||||
| name: Flutter Windows History Build | ||||
| 
 | ||||
| on: [workflow_dispatch] | ||||
| 
 | ||||
| env: | ||||
|   LLVM_VERSION: "10.0" | ||||
|   # Note: currently 3.0.5 does not support arm64 officially, we use latest stable version first. | ||||
|   FLUTTER_VERSION: "3.0.5" | ||||
|   TAG_NAME: "tmp" | ||||
|   # vcpkg version: 2022.05.10 | ||||
|   # for multiarch gcc compatibility | ||||
|   VCPKG_COMMIT_ID: "14e7bb4ae24616ec54ff6b2f6ef4e8659434ea44" | ||||
|   VERSION: "1.2.0" | ||||
| 
 | ||||
| jobs: | ||||
|   build-for-windows-2022-12-05: | ||||
|     name: ${{ matrix.job.target }} (${{ matrix.job.os }}) | ||||
|     runs-on: ${{ matrix.job.os }} | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         job: | ||||
|           # - { target: i686-pc-windows-msvc        , os: windows-2019                  } | ||||
|           # - { target: x86_64-pc-windows-gnu       , os: windows-2019                  } | ||||
|           - { target: x86_64-pc-windows-msvc, os: windows-2019 } | ||||
|     steps: | ||||
|       - name: Checkout source code | ||||
|         uses: actions/checkout@v3 | ||||
|         with: | ||||
|           ref: '8d1254cf14b69f545c9cefa026c5eeb0e7dd3e7c' | ||||
| 
 | ||||
|       - name: Install LLVM and Clang | ||||
|         uses: KyleMayes/install-llvm-action@v1 | ||||
|         with: | ||||
|           version: ${{ env.LLVM_VERSION }} | ||||
| 
 | ||||
|       - name: Install flutter | ||||
|         uses: subosito/flutter-action@v2 | ||||
|         with: | ||||
|           channel: "stable" | ||||
|           flutter-version: ${{ env.FLUTTER_VERSION }} | ||||
|           cache: true | ||||
| 
 | ||||
|       - name: Replace engine with rustdesk custom flutter engine | ||||
|         run: | | ||||
|           flutter doctor -v | ||||
|           flutter precache --windows | ||||
|           Invoke-WebRequest -Uri https://github.com/Kingtous/engine/releases/download/v3.0.5-rustdesk.2/windows-x64-flutter-release.zip -OutFile windows-x64-flutter-release.zip | ||||
|           Expand-Archive windows-x64-flutter-release.zip -DestinationPath engine | ||||
|           mv -Force engine/*  C:/hostedtoolcache/windows/flutter/stable-3.0.5-x64/bin/cache/artifacts/engine/windows-x64-release/ | ||||
|       - name: Install Rust toolchain | ||||
|         uses: actions-rs/toolchain@v1 | ||||
|         with: | ||||
|           toolchain: "1.62" | ||||
|           target: ${{ matrix.job.target }} | ||||
|           override: true | ||||
|           components: rustfmt | ||||
|           profile: minimal # minimal component installation (ie, no documentation) | ||||
| 
 | ||||
|       - uses: Swatinem/rust-cache@v2 | ||||
|         with: | ||||
|           prefix-key: ${{ matrix.job.os }} | ||||
| 
 | ||||
|       - name: Install flutter rust bridge deps | ||||
|         run: | | ||||
|           dart pub global activate ffigen --version 5.0.1 | ||||
|           $exists = Test-Path ~/.cargo/bin/flutter_rust_bridge_codegen.exe | ||||
|           Push-Location .. | ||||
|           git clone https://github.com/SoLongAndThanksForAllThePizza/flutter_rust_bridge --depth=1 | ||||
|           Push-Location flutter_rust_bridge/frb_codegen ; cargo install --path . ; Pop-Location | ||||
|           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 | ||||
|       - name: Restore from cache and install vcpkg | ||||
|         uses: lukka/run-vcpkg@v7 | ||||
|         with: | ||||
|           setupOnly: true | ||||
|           vcpkgGitCommitId: ${{ env.VCPKG_COMMIT_ID }} | ||||
| 
 | ||||
|       - name: Install vcpkg dependencies | ||||
|         run: | | ||||
|           $VCPKG_ROOT/vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static | ||||
|         shell: bash | ||||
| 
 | ||||
|       - name: Build rustdesk | ||||
|         run: python3 .\build.py --portable --hwcodec --flutter | ||||
| 
 | ||||
|       - name: Build self-extracted executable | ||||
|         shell: bash | ||||
|         run: | | ||||
|           pushd ./libs/portable | ||||
|           python3 ./generate.py -f ../../flutter/build/windows/runner/Release/ -o . -e ../../flutter/build/windows/runner/Release/rustdesk.exe | ||||
|           popd | ||||
|           mkdir -p ./SignOutput | ||||
|           mv ./target/release/rustdesk-portable-packer.exe ./SignOutput/rustdesk-2022-12-05-${{ matrix.job.target }}.exe | ||||
|            | ||||
|       - name: Publish Release | ||||
|         uses: softprops/action-gh-release@v1 | ||||
|         with: | ||||
|           prerelease: true | ||||
|           tag_name: ${{ env.TAG_NAME }} | ||||
|           files: | | ||||
|             ./SignOutput/rustdesk-*.exe | ||||
| 
 | ||||
|   build-for-windows-2022-12-12: | ||||
|     name: ${{ matrix.job.target }} (${{ matrix.job.os }}) | ||||
|     runs-on: ${{ matrix.job.os }} | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         job: | ||||
|           # - { target: i686-pc-windows-msvc        , os: windows-2019                  } | ||||
|           # - { target: x86_64-pc-windows-gnu       , os: windows-2019                  } | ||||
|           - { target: x86_64-pc-windows-msvc, os: windows-2019 } | ||||
|     steps: | ||||
|       - name: Checkout source code | ||||
|         uses: actions/checkout@v3 | ||||
|         with: | ||||
|           ref: '3dd43b79ec0409fc38103bed0c7eb0bc3cd993d5' | ||||
| 
 | ||||
|       - name: Install LLVM and Clang | ||||
|         uses: KyleMayes/install-llvm-action@v1 | ||||
|         with: | ||||
|           version: ${{ env.LLVM_VERSION }} | ||||
| 
 | ||||
|       - name: Install flutter | ||||
|         uses: subosito/flutter-action@v2 | ||||
|         with: | ||||
|           channel: "stable" | ||||
|           flutter-version: ${{ env.FLUTTER_VERSION }} | ||||
|           cache: true | ||||
| 
 | ||||
|       - name: Replace engine with rustdesk custom flutter engine | ||||
|         run: | | ||||
|           flutter doctor -v | ||||
|           flutter precache --windows | ||||
|           Invoke-WebRequest -Uri https://github.com/Kingtous/engine/releases/download/v3.0.5-rustdesk.2/windows-x64-flutter-release.zip -OutFile windows-x64-flutter-release.zip | ||||
|           Expand-Archive windows-x64-flutter-release.zip -DestinationPath engine | ||||
|           mv -Force engine/*  C:/hostedtoolcache/windows/flutter/stable-3.0.5-x64/bin/cache/artifacts/engine/windows-x64-release/ | ||||
|       - name: Install Rust toolchain | ||||
|         uses: actions-rs/toolchain@v1 | ||||
|         with: | ||||
|           toolchain: "1.62" | ||||
|           target: ${{ matrix.job.target }} | ||||
|           override: true | ||||
|           components: rustfmt | ||||
|           profile: minimal # minimal component installation (ie, no documentation) | ||||
| 
 | ||||
|       - uses: Swatinem/rust-cache@v2 | ||||
|         with: | ||||
|           prefix-key: ${{ matrix.job.os }} | ||||
| 
 | ||||
|       - name: Install flutter rust bridge deps | ||||
|         run: | | ||||
|           dart pub global activate ffigen --version 5.0.1 | ||||
|           $exists = Test-Path ~/.cargo/bin/flutter_rust_bridge_codegen.exe | ||||
|           Push-Location .. | ||||
|           git clone https://github.com/SoLongAndThanksForAllThePizza/flutter_rust_bridge --depth=1 | ||||
|           Push-Location flutter_rust_bridge/frb_codegen ; cargo install --path . ; Pop-Location | ||||
|           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 | ||||
|       - name: Restore from cache and install vcpkg | ||||
|         uses: lukka/run-vcpkg@v7 | ||||
|         with: | ||||
|           setupOnly: true | ||||
|           vcpkgGitCommitId: ${{ env.VCPKG_COMMIT_ID }} | ||||
| 
 | ||||
|       - name: Install vcpkg dependencies | ||||
|         run: | | ||||
|           $VCPKG_ROOT/vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static | ||||
|         shell: bash | ||||
| 
 | ||||
|       - name: Build rustdesk | ||||
|         run: python3 .\build.py --portable --hwcodec --flutter | ||||
| 
 | ||||
|       - name: Build self-extracted executable | ||||
|         shell: bash | ||||
|         run: | | ||||
|           pushd ./libs/portable | ||||
|           python3 ./generate.py -f ../../flutter/build/windows/runner/Release/ -o . -e ../../flutter/build/windows/runner/Release/rustdesk.exe | ||||
|           popd | ||||
|           mkdir -p ./SignOutput | ||||
|           mv ./target/release/rustdesk-portable-packer.exe ./SignOutput/rustdesk-2022-12-12-${{ matrix.job.target }}.exe | ||||
|            | ||||
|       - name: Publish Release | ||||
|         uses: softprops/action-gh-release@v1 | ||||
|         with: | ||||
|           prerelease: true | ||||
|           tag_name: ${{ env.TAG_NAME }} | ||||
|           files: | | ||||
|             ./SignOutput/rustdesk-*.exe | ||||
| 
 | ||||
|   build-for-windows-2022-12-19: | ||||
|     name: ${{ matrix.job.target }} (${{ matrix.job.os }}) | ||||
|     runs-on: ${{ matrix.job.os }} | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         job: | ||||
|           # - { target: i686-pc-windows-msvc        , os: windows-2019                  } | ||||
|           # - { target: x86_64-pc-windows-gnu       , os: windows-2019                  } | ||||
|           - { target: x86_64-pc-windows-msvc, os: windows-2019 } | ||||
|     steps: | ||||
|       - name: Checkout source code | ||||
|         uses: actions/checkout@v3 | ||||
|         with: | ||||
|           ref: '1054715891c4e73ad9b164acec6dadecfc599a65' | ||||
| 
 | ||||
|       - name: Install LLVM and Clang | ||||
|         uses: KyleMayes/install-llvm-action@v1 | ||||
|         with: | ||||
|           version: ${{ env.LLVM_VERSION }} | ||||
| 
 | ||||
|       - name: Install flutter | ||||
|         uses: subosito/flutter-action@v2 | ||||
|         with: | ||||
|           channel: "stable" | ||||
|           flutter-version: ${{ env.FLUTTER_VERSION }} | ||||
|           cache: true | ||||
| 
 | ||||
|       - name: Replace engine with rustdesk custom flutter engine | ||||
|         run: | | ||||
|           flutter doctor -v | ||||
|           flutter precache --windows | ||||
|           Invoke-WebRequest -Uri https://github.com/Kingtous/engine/releases/download/v3.0.5-rustdesk.2/windows-x64-flutter-release.zip -OutFile windows-x64-flutter-release.zip | ||||
|           Expand-Archive windows-x64-flutter-release.zip -DestinationPath engine | ||||
|           mv -Force engine/*  C:/hostedtoolcache/windows/flutter/stable-3.0.5-x64/bin/cache/artifacts/engine/windows-x64-release/ | ||||
|       - name: Install Rust toolchain | ||||
|         uses: actions-rs/toolchain@v1 | ||||
|         with: | ||||
|           toolchain: "1.62" | ||||
|           target: ${{ matrix.job.target }} | ||||
|           override: true | ||||
|           components: rustfmt | ||||
|           profile: minimal # minimal component installation (ie, no documentation) | ||||
| 
 | ||||
|       - uses: Swatinem/rust-cache@v2 | ||||
|         with: | ||||
|           prefix-key: ${{ matrix.job.os }} | ||||
| 
 | ||||
|       - name: Install flutter rust bridge deps | ||||
|         run: | | ||||
|           dart pub global activate ffigen --version 5.0.1 | ||||
|           $exists = Test-Path ~/.cargo/bin/flutter_rust_bridge_codegen.exe | ||||
|           Push-Location .. | ||||
|           git clone https://github.com/SoLongAndThanksForAllThePizza/flutter_rust_bridge --depth=1 | ||||
|           Push-Location flutter_rust_bridge/frb_codegen ; cargo install --path . ; Pop-Location | ||||
|           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 | ||||
|       - name: Restore from cache and install vcpkg | ||||
|         uses: lukka/run-vcpkg@v7 | ||||
|         with: | ||||
|           setupOnly: true | ||||
|           vcpkgGitCommitId: ${{ env.VCPKG_COMMIT_ID }} | ||||
| 
 | ||||
|       - name: Install vcpkg dependencies | ||||
|         run: | | ||||
|           $VCPKG_ROOT/vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static | ||||
|         shell: bash | ||||
| 
 | ||||
|       - name: Build rustdesk | ||||
|         run: python3 .\build.py --portable --hwcodec --flutter | ||||
| 
 | ||||
|       - name: Build self-extracted executable | ||||
|         shell: bash | ||||
|         run: | | ||||
|           pushd ./libs/portable | ||||
|           python3 ./generate.py -f ../../flutter/build/windows/runner/Release/ -o . -e ../../flutter/build/windows/runner/Release/rustdesk.exe | ||||
|           popd | ||||
|           mkdir -p ./SignOutput | ||||
|           mv ./target/release/rustdesk-portable-packer.exe ./SignOutput/rustdesk-2022-12-19-${{ matrix.job.target }}.exe | ||||
|            | ||||
|       - name: Publish Release | ||||
|         uses: softprops/action-gh-release@v1 | ||||
|         with: | ||||
|           prerelease: true | ||||
|           tag_name: ${{ env.TAG_NAME }} | ||||
|           files: | | ||||
|             ./SignOutput/rustdesk-*.exe | ||||
| 
 | ||||
|   build-for-windows-2022-12-26: | ||||
|     name: ${{ matrix.job.target }} (${{ matrix.job.os }}) | ||||
|     runs-on: ${{ matrix.job.os }} | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         job: | ||||
|           # - { target: i686-pc-windows-msvc        , os: windows-2019                  } | ||||
|           # - { target: x86_64-pc-windows-gnu       , os: windows-2019                  } | ||||
|           - { target: x86_64-pc-windows-msvc, os: windows-2019 } | ||||
|     steps: | ||||
|       - name: Checkout source code | ||||
|         uses: actions/checkout@v3 | ||||
|         with: | ||||
|           ref: 'b241925fe093dc4da804a5aac419375f4ca7653f' | ||||
| 
 | ||||
|       - name: Install LLVM and Clang | ||||
|         uses: KyleMayes/install-llvm-action@v1 | ||||
|         with: | ||||
|           version: ${{ env.LLVM_VERSION }} | ||||
| 
 | ||||
|       - name: Install flutter | ||||
|         uses: subosito/flutter-action@v2 | ||||
|         with: | ||||
|           channel: "stable" | ||||
|           flutter-version: ${{ env.FLUTTER_VERSION }} | ||||
|           cache: true | ||||
| 
 | ||||
|       - name: Replace engine with rustdesk custom flutter engine | ||||
|         run: | | ||||
|           flutter doctor -v | ||||
|           flutter precache --windows | ||||
|           Invoke-WebRequest -Uri https://github.com/Kingtous/engine/releases/download/v3.0.5-rustdesk.2/windows-x64-flutter-release.zip -OutFile windows-x64-flutter-release.zip | ||||
|           Expand-Archive windows-x64-flutter-release.zip -DestinationPath engine | ||||
|           mv -Force engine/*  C:/hostedtoolcache/windows/flutter/stable-3.0.5-x64/bin/cache/artifacts/engine/windows-x64-release/ | ||||
|       - name: Install Rust toolchain | ||||
|         uses: actions-rs/toolchain@v1 | ||||
|         with: | ||||
|           toolchain: "1.62" | ||||
|           target: ${{ matrix.job.target }} | ||||
|           override: true | ||||
|           components: rustfmt | ||||
|           profile: minimal # minimal component installation (ie, no documentation) | ||||
| 
 | ||||
|       - uses: Swatinem/rust-cache@v2 | ||||
|         with: | ||||
|           prefix-key: ${{ matrix.job.os }} | ||||
| 
 | ||||
|       - name: Install flutter rust bridge deps | ||||
|         run: | | ||||
|           dart pub global activate ffigen --version 5.0.1 | ||||
|           $exists = Test-Path ~/.cargo/bin/flutter_rust_bridge_codegen.exe | ||||
|           Push-Location .. | ||||
|           git clone https://github.com/SoLongAndThanksForAllThePizza/flutter_rust_bridge --depth=1 | ||||
|           Push-Location flutter_rust_bridge/frb_codegen ; cargo install --path . ; Pop-Location | ||||
|           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 | ||||
|       - name: Restore from cache and install vcpkg | ||||
|         uses: lukka/run-vcpkg@v7 | ||||
|         with: | ||||
|           setupOnly: true | ||||
|           vcpkgGitCommitId: ${{ env.VCPKG_COMMIT_ID }} | ||||
| 
 | ||||
|       - name: Install vcpkg dependencies | ||||
|         run: | | ||||
|           $VCPKG_ROOT/vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static | ||||
|         shell: bash | ||||
| 
 | ||||
|       - name: Build rustdesk | ||||
|         run: python3 .\build.py --portable --hwcodec --flutter | ||||
| 
 | ||||
|       - name: Build self-extracted executable | ||||
|         shell: bash | ||||
|         run: | | ||||
|           pushd ./libs/portable | ||||
|           python3 ./generate.py -f ../../flutter/build/windows/runner/Release/ -o . -e ../../flutter/build/windows/runner/Release/rustdesk.exe | ||||
|           popd | ||||
|           mkdir -p ./SignOutput | ||||
|           mv ./target/release/rustdesk-portable-packer.exe ./SignOutput/rustdesk-2022-12-26-${{ matrix.job.target }}.exe | ||||
|            | ||||
|       - name: Publish Release | ||||
|         uses: softprops/action-gh-release@v1 | ||||
|         with: | ||||
|           prerelease: true | ||||
|           tag_name: ${{ env.TAG_NAME }} | ||||
|           files: | | ||||
|             ./SignOutput/rustdesk-*.exe | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user