mirror of
https://github.com/actions/runner-images.git
synced 2025-12-14 22:05:17 +00:00
Fail fast in image generation if not enough disk space for customers (#767)
* added checking free disk space Co-authored-by: Nikita Bykov <v-nibyko@microsoft.com>
This commit is contained in:
14
images/linux/scripts/installers/validate-disk-space.sh
Normal file
14
images/linux/scripts/installers/validate-disk-space.sh
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
################################################################################
|
||||||
|
## File: validate-disk-space.sh
|
||||||
|
## Desc: Validate free disk space
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
availableSpaceMB=$(df / -hm | sed 1d | awk '{ print $4}')
|
||||||
|
minimumFreeSpaceMB=$(( 18*1024 ))
|
||||||
|
|
||||||
|
echo "Available disk space: $availableSpaceMB MB"
|
||||||
|
if [ $availableSpaceMB -le $minimumFreeSpaceMB ]; then
|
||||||
|
echo "Not enough disk space on the image (minimum available space: $minimumFreeSpaceMB MB)"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
@@ -324,6 +324,12 @@
|
|||||||
],
|
],
|
||||||
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "shell",
|
||||||
|
"scripts":[
|
||||||
|
"{{template_dir}}/scripts/installers/validate-disk-space.sh"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"type": "file",
|
"type": "file",
|
||||||
"source": "{{user `metadata_file`}}",
|
"source": "{{user `metadata_file`}}",
|
||||||
|
|||||||
@@ -328,6 +328,12 @@
|
|||||||
],
|
],
|
||||||
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "shell",
|
||||||
|
"scripts":[
|
||||||
|
"{{template_dir}}/scripts/installers/validate-disk-space.sh"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"type": "file",
|
"type": "file",
|
||||||
"source": "{{user `metadata_file`}}",
|
"source": "{{user `metadata_file`}}",
|
||||||
|
|||||||
@@ -883,6 +883,12 @@
|
|||||||
"{{ template_dir }}/scripts/Installers/Validate-Kind.ps1"
|
"{{ template_dir }}/scripts/Installers/Validate-Kind.ps1"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "powershell",
|
||||||
|
"scripts":[
|
||||||
|
"{{ template_dir }}/scripts/Installers/Validate-DiskSpace.ps1"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"type": "file",
|
"type": "file",
|
||||||
"source": "C:\\InstalledSoftware.md",
|
"source": "C:\\InstalledSoftware.md",
|
||||||
|
|||||||
@@ -886,6 +886,12 @@
|
|||||||
"{{ template_dir }}/scripts/Installers/Validate-AliyunCli.ps1"
|
"{{ template_dir }}/scripts/Installers/Validate-AliyunCli.ps1"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "powershell",
|
||||||
|
"scripts":[
|
||||||
|
"{{ template_dir }}/scripts/Installers/Validate-DiskSpace.ps1"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"type": "file",
|
"type": "file",
|
||||||
"source": "C:\\InstalledSoftware.md",
|
"source": "C:\\InstalledSoftware.md",
|
||||||
|
|||||||
14
images/win/scripts/Installers/Validate-DiskSpace.ps1
Normal file
14
images/win/scripts/Installers/Validate-DiskSpace.ps1
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
################################################################################
|
||||||
|
## File: Validate-DiskSpace.ps1
|
||||||
|
## Desc: Validate free disk space
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
$availableSpaceMB = [math]::Round((Get-PSDrive -Name C).Free / 1MB)
|
||||||
|
$minimumFreeSpaceMB = 15 * 1024
|
||||||
|
|
||||||
|
Write-Host "Available disk space: $availableSpaceMB MB"
|
||||||
|
if ($availableSpaceMB -le $minimumFreeSpaceMB)
|
||||||
|
{
|
||||||
|
Write-Host "Not enough disk space on the image (minimum available space: $minimumFreeSpaceMB MB)"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user