Skip to content

Commit

Permalink
Sync eng/common directory with azure-sdk-tools for PR 1371 (#14288)
Browse files Browse the repository at this point in the history
* Rework verify agent OS step.

* Address feedback

* Justing string matching instead.

* ! instead of -not

Co-authored-by: Mitch Denny <midenn@microsoft.com>
  • Loading branch information
azure-sdk and mitchdenny committed Feb 14, 2021
1 parent 3ddb9e2 commit 7db9dc1
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 33 deletions.
45 changes: 12 additions & 33 deletions eng/common/pipelines/templates/steps/verify-agent-os.yml
Original file line number Diff line number Diff line change
@@ -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 changes: 13 additions & 0 deletions eng/common/scripts/Verify-AgentOS.ps1
Original file line number Diff line number Diff line change
@@ -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 }

0 comments on commit 7db9dc1

Please sign in to comment.