Skip to content

Commit 9d7e8b0

Browse files
authored
Log more information about disk space and skip the MSVC builds on public (#3090)
* Try and get more information as to disk space * Only build MSVC on the internal build The MSVC compiler is so heavy that the outputs are over 10.8GB whereas the LLVM compiler is just under 10.1GB. The public agent only starts with 12GB and after the checkout we are left with 10.67GB which is smaller than the 10.8GB required. The LLVM compiler just manages to pass under the bar with about 600MB spare. If the SkiaSharp artifacts get any bigger, then we will need custom machines for the public build.
1 parent 6a2982a commit 9d7e8b0

File tree

3 files changed

+79
-45
lines changed

3 files changed

+79
-45
lines changed

scripts/azure-templates-bootstrapper.yml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,11 +82,19 @@ jobs:
8282
targetPath: ${{ additionalArtifact.path }}
8383

8484
steps:
85+
- pwsh: if ($IsLinux -or $IsMacOS) { df -h } else { Get-Volume }
86+
displayName: Get the volume information before the run
87+
condition: always()
88+
8589
# prepare
8690
- checkout: self
8791
submodules: recursive
8892
- template: /scripts/azure-templates-variables.yml@self
8993

94+
- pwsh: .\scripts\get-free-space.ps1
95+
displayName: Get the volume information after the checkout
96+
condition: always()
97+
9098
# # checkout required skia PR
9199
# - pwsh: .\scripts\checkout-skia.ps1 -GitHubToken $(GitHub.Token.PublicAccess)
92100
# displayName: Checkout required skia PR
@@ -101,6 +109,10 @@ jobs:
101109
- pwsh: .\scripts\get-build-type.ps1 -ExternalsBuildId '${{ parameters.buildExternals }}'
102110
displayName: Determine build type
103111

112+
- pwsh: .\scripts\get-free-space.ps1
113+
displayName: Get the volume information before the provisioning
114+
condition: always()
115+
104116
# provisioning steps
105117
- ${{ if ne(parameters.buildAgent.provisioningSteps, '') }}:
106118
- ${{ parameters.buildAgent.provisioningSteps }}
@@ -273,6 +285,10 @@ jobs:
273285
retryCountOnTaskFailure: 3
274286
condition: and(succeeded(), eq(variables['DOWNLOAD_EXTERNALS'], ''))
275287

288+
- pwsh: .\scripts\get-free-space.ps1
289+
displayName: Get the volume information before downloading artifacts
290+
condition: always()
291+
276292
# download artifacts
277293
- template: /scripts/azure-templates-download-artifacts.yml@self
278294
parameters:
@@ -285,12 +301,20 @@ jobs:
285301
artifacts:
286302
- name: ${{ parameters.name }}
287303

304+
- pwsh: .\scripts\get-free-space.ps1
305+
displayName: Get the volume information after downloading artifacts
306+
condition: always()
307+
288308
# pre-build steps
289309
- ${{ if ne(parameters.buildAgent.preBuildSteps, '') }}:
290310
- ${{ parameters.buildAgent.preBuildSteps }}
291311
- ${{ if ne(length(parameters.preBuildSteps), 0) }}:
292312
- ${{ parameters.preBuildSteps }}
293313

314+
- pwsh: .\scripts\get-free-space.ps1
315+
displayName: Get the volume information before the build
316+
condition: always()
317+
294318
# actual build
295319
- ${{ if ne(parameters.skipSteps, 'true') }}:
296320
- ${{ if eq(parameters.docker, '') }}:
@@ -359,8 +383,16 @@ jobs:
359383
retryCountOnTaskFailure: ${{ parameters.retryCount }}
360384
condition: and(succeeded(), eq(variables['DOWNLOAD_EXTERNALS'], ''))
361385
386+
- pwsh: .\scripts\get-free-space.ps1
387+
displayName: Get the volume information after the build
388+
condition: always()
389+
362390
# post-build steps
363391
- ${{ parameters.postBuildSteps }}
364392

365393
- ${{ if eq(parameters.buildPipelineType, 'tests') }}:
366394
- template: /scripts/azure-templates-github-status.yml@self
395+
396+
- pwsh: .\scripts\get-free-space.ps1
397+
displayName: Get the volume information after the entire run
398+
condition: always()

scripts/azure-templates-stages.yml

Lines changed: 46 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -145,39 +145,40 @@ stages:
145145
buildAgent: ${{ parameters.buildAgentWindowsNative }}
146146
target: externals-windows
147147
additionalArgs: --buildarch=arm64
148-
- template: /scripts/azure-templates-bootstrapper.yml@self # Build Native Win32|x86 (Win + MSVC)
149-
parameters:
150-
name: native_win32_x86_msvc_windows
151-
displayName: Win32 x86 [MSVC]
152-
sdl: ${{ parameters.sdl }}
153-
buildExternals: ${{ parameters.buildExternals }}
154-
buildPipelineType: ${{ parameters.buildPipelineType }}
155-
buildAgent: ${{ parameters.buildAgentWindowsNative }}
156-
target: externals-windows
157-
additionalArgs: --buildarch=x86 --llvm="msvc"
158-
installLlvm: false
159-
- template: /scripts/azure-templates-bootstrapper.yml@self # Build Native Win32|x64 (Win + MSVC)
160-
parameters:
161-
name: native_win32_x64_msvc_windows
162-
displayName: Win32 x64 [MSVC]
163-
sdl: ${{ parameters.sdl }}
164-
buildExternals: ${{ parameters.buildExternals }}
165-
buildPipelineType: ${{ parameters.buildPipelineType }}
166-
buildAgent: ${{ parameters.buildAgentWindowsNative }}
167-
target: externals-windows
168-
additionalArgs: --buildarch=x64 --llvm="msvc"
169-
installLlvm: false
170-
- template: /scripts/azure-templates-bootstrapper.yml@self # Build Native Win32|arm64 (Win + MSVC)
171-
parameters:
172-
name: native_win32_arm64_msvc_windows
173-
displayName: Win32 arm64 [MSVC]
174-
sdl: ${{ parameters.sdl }}
175-
buildExternals: ${{ parameters.buildExternals }}
176-
buildPipelineType: ${{ parameters.buildPipelineType }}
177-
buildAgent: ${{ parameters.buildAgentWindowsNative }}
178-
target: externals-windows
179-
additionalArgs: --buildarch=arm64 --llvm="msvc"
180-
installLlvm: false
148+
- ${{ if eq(variables['System.TeamProject'], 'devdiv') }}:
149+
- template: /scripts/azure-templates-bootstrapper.yml@self # Build Native Win32|x86 (Win + MSVC)
150+
parameters:
151+
name: native_win32_x86_msvc_windows
152+
displayName: Win32 x86 [MSVC]
153+
sdl: ${{ parameters.sdl }}
154+
buildExternals: ${{ parameters.buildExternals }}
155+
buildPipelineType: ${{ parameters.buildPipelineType }}
156+
buildAgent: ${{ parameters.buildAgentWindowsNative }}
157+
target: externals-windows
158+
additionalArgs: --buildarch=x86 --llvm="msvc"
159+
installLlvm: false
160+
- template: /scripts/azure-templates-bootstrapper.yml@self # Build Native Win32|x64 (Win + MSVC)
161+
parameters:
162+
name: native_win32_x64_msvc_windows
163+
displayName: Win32 x64 [MSVC]
164+
sdl: ${{ parameters.sdl }}
165+
buildExternals: ${{ parameters.buildExternals }}
166+
buildPipelineType: ${{ parameters.buildPipelineType }}
167+
buildAgent: ${{ parameters.buildAgentWindowsNative }}
168+
target: externals-windows
169+
additionalArgs: --buildarch=x64 --llvm="msvc"
170+
installLlvm: false
171+
- template: /scripts/azure-templates-bootstrapper.yml@self # Build Native Win32|arm64 (Win + MSVC)
172+
parameters:
173+
name: native_win32_arm64_msvc_windows
174+
displayName: Win32 arm64 [MSVC]
175+
sdl: ${{ parameters.sdl }}
176+
buildExternals: ${{ parameters.buildExternals }}
177+
buildPipelineType: ${{ parameters.buildPipelineType }}
178+
buildAgent: ${{ parameters.buildAgentWindowsNative }}
179+
target: externals-windows
180+
additionalArgs: --buildarch=arm64 --llvm="msvc"
181+
installLlvm: false
181182
- template: /scripts/azure-templates-bootstrapper.yml@self # Build Native WinUI|x86 (Win)
182183
parameters:
183184
name: native_winui_x86_windows
@@ -527,17 +528,18 @@ stages:
527528
matrixArtifacts:
528529
- name: native_wasm
529530
jobs: $(nativeWasmJobs)
530-
- template: /scripts/azure-templates-merger.yml@self # Merge Native MSVC Artifacts
531-
parameters:
532-
name: native_msvc
533-
displayName: Merge Native MSVC Artifacts
534-
sdl: ${{ parameters.sdl }}
535-
buildPipelineType: ${{ parameters.buildPipelineType }}
536-
buildAgent: ${{ parameters.buildAgentHost }}
537-
requiredArtifacts:
538-
- name: native_win32_x86_msvc_windows
539-
- name: native_win32_x64_msvc_windows
540-
- name: native_win32_arm64_msvc_windows
531+
- ${{ if eq(variables['System.TeamProject'], 'devdiv') }}:
532+
- template: /scripts/azure-templates-merger.yml@self # Merge Native MSVC Artifacts
533+
parameters:
534+
name: native_msvc
535+
displayName: Merge Native MSVC Artifacts
536+
sdl: ${{ parameters.sdl }}
537+
buildPipelineType: ${{ parameters.buildPipelineType }}
538+
buildAgent: ${{ parameters.buildAgentHost }}
539+
requiredArtifacts:
540+
- name: native_win32_x86_msvc_windows
541+
- name: native_win32_x64_msvc_windows
542+
- name: native_win32_arm64_msvc_windows
541543

542544
- ${{ if ne(parameters.buildPipelineType, 'build') }}:
543545
- stage: managed

scripts/get-free-space.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
$ErrorActionPreference = 'Stop'
22

33
if ($IsLinux -or $IsMacOS) {
4-
Write-Host "Not supported yet."
4+
df -h
55
} else {
66
Get-Volume
77
}

0 commit comments

Comments
 (0)