Sync eng/common directory with azure-sdk-tools for PR 1371 (#1634)
* Rework verify agent OS step. * Address feedback * Justing string matching instead. * ! instead of -not Co-authored-by: Mitch Denny <midenn@microsoft.com>
This commit is contained in:
parent
ab0a92ce62
commit
74bfafcb52
@ -1,37 +1,16 @@
|
||||
parameters:
|
||||
OSVmImage: $(OSVmImage)
|
||||
- name: ScriptDirectory
|
||||
type: string
|
||||
default: 'eng/common/scripts'
|
||||
- name: AgentImage
|
||||
type: string
|
||||
|
||||
steps:
|
||||
- task: PythonScript@0
|
||||
displayName: Verify Agent OS
|
||||
- task: PowerShell@2
|
||||
displayName: Verify agent OS
|
||||
inputs:
|
||||
scriptSource: inline
|
||||
script: |
|
||||
# Script verifies the operating system for the platform on which it is being run
|
||||
# Used in build pipelines to verify the build agent os
|
||||
# Variable: The friendly name or image name of the os to verify against
|
||||
from __future__ import print_function
|
||||
import sys
|
||||
import platform
|
||||
|
||||
os_parameter = "${{ parameters.OSVmImage }}".lower()
|
||||
if os_parameter.startswith('mac') or os_parameter.startswith('darwin'):
|
||||
os_parameter = 'macOS'
|
||||
elif os_parameter.startswith('ubuntu') or os_parameter.startswith('linux'):
|
||||
os_parameter = 'Linux'
|
||||
elif os_parameter.startswith('vs') or os_parameter.startswith('win'):
|
||||
os_parameter = 'Windows'
|
||||
else:
|
||||
raise Exception('Variable OSVmImage is empty or has an unexpected value [${{ parameters.OSVmImage }}]')
|
||||
|
||||
|
||||
print("Job requested to run on OS: %s" % (os_parameter))
|
||||
|
||||
agent_os = platform.system()
|
||||
agent_os = 'macOS' if agent_os == 'Darwin' else agent_os
|
||||
|
||||
if (agent_os.lower() == os_parameter.lower()):
|
||||
print('Job ran on OS: %s' % (agent_os))
|
||||
print('##vso[task.setvariable variable=OSName]%s' % (agent_os))
|
||||
else:
|
||||
raise Exception('Job ran on the wrong OS: %s' % (agent_os))
|
||||
pwsh: true
|
||||
workingDirectory: $(System.DefaultWorkingDirectory)
|
||||
filePath: ${{ parameters.ScriptDirectory }}/Verify-AgentOS.ps1
|
||||
arguments: >
|
||||
-AgentImage ${{ parameters.AgentImage }}
|
||||
13
eng/common/scripts/Verify-AgentOS.ps1
Normal file
13
eng/common/scripts/Verify-AgentOS.ps1
Normal file
@ -0,0 +1,13 @@
|
||||
param (
|
||||
[Parameter(Mandatory = $true)]
|
||||
[ValidateNotNullOrEmpty()]
|
||||
[string] $AgentImage
|
||||
)
|
||||
|
||||
function Throw-InvalidOperatingSystem {
|
||||
throw "Invalid operating system detected. Operating system was: $([System.Runtime.InteropServices.RuntimeInformation]::OSDescription), expected image was: $AgentImage"
|
||||
}
|
||||
|
||||
if ($AgentImage -match "windows|win|MMS2019" -and !$IsWindows) { Throw-InvalidOperatingSystem }
|
||||
if ($AgentImage -match "ubuntu" -and !$IsLinux) { Throw-InvalidOperatingSystem }
|
||||
if ($AgentImage -match "macos" -and !$IsMacOs) { Throw-InvalidOperatingSystem }
|
||||
Loading…
Reference in New Issue
Block a user