@@ -21,14 +21,127 @@ env:
2121
2222jobs :
2323
24+ build-windows :
25+ runs-on : windows-latest
26+ permissions :
27+ contents : read
28+ packages : write
29+ id-token : write
30+
31+
32+ steps :
33+ - name : Configure Environment
34+ shell : powershell
35+ run : |-
36+ Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem' -Name 'LongPathsEnabled' -Value 1
37+ git config --system core.longpaths true
38+
39+ echo "--------------------Install Microsoft.UI.Xaml-------------------"
40+ $SourceUrl = "https://www.nuget.org/api/v2/package/Microsoft.UI.Xaml/2.7.3"
41+ $DestinationFile = ".\microsoft.ui.xaml.2.7.3.zip" # 保存到当前目录并保持.nupkg扩展名
42+ $ExtractDirectory = ".\uixaml"
43+ # 创建目标解压目录(如果不存在)
44+ if (!(Test-Path -Path $ExtractDirectory)) {
45+ New-Item -ItemType Directory -Path $ExtractDirectory | Out-Null
46+ }
47+ # 下载.nupkg文件
48+ Invoke-WebRequest -Uri $SourceUrl -OutFile $DestinationFile
49+ # 解压.nupkg文件到指定目录(PowerShell 5.0及以上版本支持)
50+ Expand-Archive -Path $DestinationFile -DestinationPath $ExtractDirectory
51+ Copy-Item -Path .\uixaml\tools\AppX\x64\Release\Microsoft.UI.Xaml.2.7.appx -Destination .
52+ Add-AppxPackage -Path .\Microsoft.UI.Xaml.2.7.appx
53+
54+ echo "------------------------Install vclibs--------------------------"
55+ Invoke-WebRequest -Uri 'https://aka.ms/Microsoft.VCLibs.x64.14.00.Desktop.appx' -OutFile '.\Microsoft.VCLibs.x64.14.00.Desktop.appx'
56+ Add-AppxPackage -Path .\Microsoft.VCLibs.x64.14.00.Desktop.appx
57+
58+ echo "---------------------Install winget------------------------"
59+ Invoke-WebRequest -Uri 'https://github.com/microsoft/winget-cli/releases/download/v1.6.3421/65f132d72c1d44518a19d1a9c3de8e1f_License1.xml' -OutFile '.\65f132d72c1d44518a19d1a9c3de8e1f_License1.xml'
60+ Invoke-WebRequest -Uri 'https://github.com/microsoft/winget-cli/releases/download/v1.6.3421/Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle' -OutFile '.\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle'
61+ Add-AppxPackage .\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle
62+ Add-AppxProvisionedPackage -Online -Package .\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle -LicensePath .\65f132d72c1d44518a19d1a9c3de8e1f_License1.xml
63+
64+ echo "---------------Install VisualStudio 2022---------------------- "
65+ winget install --source winget --id Microsoft.VisualStudio.2022.Community --override "--quiet --add Microsoft.VisualStudio.Component.CoreEditor --add Microsoft.VisualStudio.Workload.CoreEditor --add Microsoft.VisualStudio.Component.TypeScript.TSServer --add Microsoft.VisualStudio.ComponentGroup.WebToolsExtensions --add Microsoft.VisualStudio.Component.JavaScript.TypeScript --add Microsoft.VisualStudio.Component.Roslyn.Compiler --add Microsoft.Component.MSBuild --add Microsoft.VisualStudio.Component.Roslyn.LanguageServices --add Microsoft.VisualStudio.Component.TextTemplating --add Microsoft.VisualStudio.Component.NuGet --add Microsoft.VisualStudio.Component.Debugger.JustInTime --add Component.Microsoft.VisualStudio.LiveShare.2022 --add Microsoft.VisualStudio.Component.IntelliCode --add Microsoft.VisualStudio.Component.VC.CoreIde --add Microsoft.VisualStudio.Component.VC.Tools.x86.x64 --add Microsoft.VisualStudio.Component.Graphics.Tools --add Microsoft.VisualStudio.Component.VC.DiagnosticTools --add Microsoft.VisualStudio.Component.Windows11SDK.22621 --add Microsoft.VisualStudio.Component.VC.ATL --add Microsoft.VisualStudio.Component.SecurityIssueAnalysis --add Microsoft.VisualStudio.Component.VC.ATLMFC --add Microsoft.VisualStudio.Component.VC.Modules.x86.x64 --add Component.IncredibuildMenu --add Component.Incredibuild --add Microsoft.VisualStudio.Component.VC.Redist.14.Latest --add Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Core --add Microsoft.VisualStudio.Component.Windows11Sdk.WindowsPerformanceToolkit --add Microsoft.VisualStudio.Component.CppBuildInsights --add Microsoft.VisualStudio.ComponentGroup.WebToolsExtensions.CMake --add Microsoft.VisualStudio.Component.VC.CMake.Project --add Microsoft.VisualStudio.Component.VC.TestAdapterForBoostTest --add Microsoft.VisualStudio.Component.VC.TestAdapterForGoogleTest --add Microsoft.VisualStudio.Component.VC.ASAN --add Microsoft.VisualStudio.Component.Vcpkg --add Microsoft.VisualStudio.Component.VC.Llvm.ClangToolset --add Microsoft.VisualStudio.Component.VC.Llvm.Clang --add Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Llvm.Clang --add Microsoft.VisualStudio.Workload.NativeDesktop"
66+ winget install --source winget --id Microsoft.VisualStudio.2022.Community --override "--quiet --add Microsoft.VisualStudio.Component.CoreEditor --add Microsoft.VisualStudio.Workload.CoreEditor --add Microsoft.VisualStudio.Component.TypeScript.TSServer --add Microsoft.VisualStudio.ComponentGroup.WebToolsExtensions --add Microsoft.VisualStudio.Component.JavaScript.TypeScript --add Microsoft.VisualStudio.Component.Roslyn.Compiler --add Microsoft.Component.MSBuild --add Microsoft.VisualStudio.Component.Roslyn.LanguageServices --add Microsoft.VisualStudio.Component.TextTemplating --add Microsoft.VisualStudio.Component.NuGet --add Microsoft.VisualStudio.Component.Debugger.JustInTime --add Component.Microsoft.VisualStudio.LiveShare.2022 --add Microsoft.VisualStudio.Component.IntelliCode --add Microsoft.VisualStudio.Component.VC.CoreIde --add Microsoft.VisualStudio.Component.VC.Tools.x86.x64 --add Microsoft.VisualStudio.Component.Graphics.Tools --add Microsoft.VisualStudio.Component.VC.DiagnosticTools --add Microsoft.VisualStudio.Component.Windows11SDK.22621 --add Microsoft.VisualStudio.Component.VC.ATL --add Microsoft.VisualStudio.Component.SecurityIssueAnalysis --add Microsoft.VisualStudio.Component.VC.ATLMFC --add Microsoft.VisualStudio.Component.VC.Modules.x86.x64 --add Component.IncredibuildMenu --add Component.Incredibuild --add Microsoft.VisualStudio.Component.VC.Redist.14.Latest --add Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Core --add Microsoft.VisualStudio.Component.Windows11Sdk.WindowsPerformanceToolkit --add Microsoft.VisualStudio.Component.CppBuildInsights --add Microsoft.VisualStudio.ComponentGroup.WebToolsExtensions.CMake --add Microsoft.VisualStudio.Component.VC.CMake.Project --add Microsoft.VisualStudio.Component.VC.TestAdapterForBoostTest --add Microsoft.VisualStudio.Component.VC.TestAdapterForGoogleTest --add Microsoft.VisualStudio.Component.VC.ASAN --add Microsoft.VisualStudio.Component.Vcpkg --add Microsoft.VisualStudio.Component.VC.Llvm.ClangToolset --add Microsoft.VisualStudio.Component.VC.Llvm.Clang --add Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Llvm.Clang --add Microsoft.VisualStudio.Workload.NativeDesktop"
67+
68+
69+ echo "----------------------Install sdk 8-------------------------------"
70+ winget install --source winget --id Microsoft.DotNet.SDK.8
71+
72+ echo "----------------------Install DesktopRuntime.8--------------------------"
73+ winget install --source winget --id Microsoft.DotNet.DesktopRuntime.8
74+
75+ echo "---------------------Install cmake--------------------------"
76+ winget install --source winget --id Kitware.CMake -e
77+
78+ echo "--------------------Install Ninja-build.Ninja ---------------------------"
79+ winget install --source winget --id Ninja-build.Ninja
80+
81+ echo "--------------------Waiting Install VisualStudio 2022--------------------------------- "
82+ # 循环判断目录数量是否大于等于 14
83+ $targetDirectory = "C:\Program Files\Microsoft Visual Studio\2022\Community"
84+ while (!(Test-Path $targetDirectory)) {
85+ Write-Host "The directory does not exist, wait for 1 minute..."
86+ Start-Sleep -Seconds 60
87+ }
88+ while (((Get-ChildItem -Path $targetDirectory -Directory).Count -lt 14)) {
89+ Write-Host "The number of directories is less than 14, wait for 1 minute...."
90+ Start-Sleep -Seconds 60
91+ }
92+ Get-ChildItem -Path $targetDirectory
93+ Write-Host "-------------------------Visual Studio 2022 installation completed----------------------------"
94+
95+
96+
97+
98+ - uses : actions/checkout@v3
99+ with :
100+ submodules : recursive
101+
102+
103+ - name : Set up Go
104+ uses : actions/setup-go@v4
105+ with :
106+ go-version : ' stable'
107+
108+
109+ - name : Building Windows Package
110+ shell : pwsh
111+ run : |-
112+ Rename-Item -Path 'D:\a\gt\gt\libcs\dep\_google-webrtc\src\third_party\llvm-build\Release+Asserts.win' -NewName 'D:\a\gt\gt\libcs\dep\_google-webrtc\src\third_party\llvm-build\Release+Asserts'
113+ Get-ChildItem -Path 'D:\a\gt\gt\libcs\dep\_google-webrtc\src\third_party\llvm-build\'
114+ Get-ChildItem -Path 'D:\a\gt\gt\libcs\dep\_google-webrtc\src\third_party\llvm-build\Release+Asserts\'
115+ Invoke-WebRequest -Uri 'https://chrome-infra-packages.appspot.com/dl/gn/gn/windows-amd64/+/latest' -OutFile '.\gn-windows-amd64.zip'
116+ Expand-Archive -Path '.\gn-windows-amd64.zip' -DestinationPath 'C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\Ninja'
117+ Get-ChildItem -Path 'C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\Ninja\'
118+
119+ echo "-----------------------Compilation package---------------------"
120+ & '.\build.ps1'
121+
122+ - name : Archive GT artifacts
123+ uses : actions/upload-artifact@v3
124+ with :
125+ name : gt-windows
126+ path : |
127+ release/*
128+
129+
24130 build-liunx :
25- runs-on : ubuntu-latest
131+ runs-on : ubuntu-22.04
26132 permissions :
27133 contents : read
28134 packages : write
29135 id-token : write
30136
31137 steps :
138+ - name : clean-space
139+ run : |-
140+ sudo swapoff -a
141+ sudo rm -rf /swapfile /usr/share/dotnet /usr/local/lib/android /opt/ghc
142+ sudo apt clean
143+ sudo df -Th
144+ # steps:
32145 - uses : actions/checkout@v3
33146 with :
34147 submodules : recursive
50163 name : gt-linux
51164 path : |
52165 release/*
166+ - name : clean-space
167+ run : sudo rm -rf /home/runner/work/gt/gt/libcs/dep
53168
54169 - name : Set up QEMU
55170 uses : docker/setup-qemu-action@v2
@@ -265,6 +380,7 @@ jobs:
265380 contents : read
266381 packages : write
267382 id-token : write
383+
268384
269385
270386 steps :
@@ -313,6 +429,13 @@ jobs:
313429 contents : read
314430 packages : write
315431 id-token : write
432+
433+ # steps:
434+ # - name: space
435+ # shell: bash
436+ # run: |-
437+ # sudo df -h
438+
316439
317440
318441 steps :
0 commit comments