Create history.yml
This commit is contained in:
		
							parent
							
								
									7359161e21
								
							
						
					
					
						commit
						0c004861c5
					
				
							
								
								
									
										103
									
								
								.github/workflows/history.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										103
									
								
								.github/workflows/history.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,103 @@ | |||||||
|  | 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: | ||||||
|  |     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: 'master@{2022-12-05 00:00:00}' | ||||||
|  | 
 | ||||||
|  |       - 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 | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user