Sync eng/common directory with azure-sdk-tools for PR 1052 (#705)
* Update location of patch files * Add some changes in eng/common to test things * Switch to pushing to upstream * Change workflow to use upstream branches Co-authored-by: Chidozie Ononiwu <chononiw@microsoft.com>
This commit is contained in:
parent
190a0e80b1
commit
91de5a1bf3
@ -17,6 +17,7 @@ parameters:
|
||||
GHTeamReviewersVariable: ''
|
||||
# Multiple labels seperated by comma, e.g. "bug, APIView"
|
||||
PRLabels: ''
|
||||
SkipCheckingForChanges: false
|
||||
|
||||
steps:
|
||||
|
||||
@ -35,15 +36,19 @@ steps:
|
||||
echo "##vso[task.setvariable variable=HasChanges]$false"
|
||||
echo "No changes so skipping code push"
|
||||
}
|
||||
displayName: Check for changes
|
||||
condition: and(succeeded(), eq(${{ parameters.SkipCheckingForChanges }}, false))
|
||||
workingDirectory: ${{ parameters.WorkingDirectory }}
|
||||
ignoreLASTEXITCODE: true
|
||||
|
||||
- pwsh: |
|
||||
# Remove the repo owner from the front of the repo name if it exists there
|
||||
$repoName = "${{ parameters.RepoName }}" -replace "^${{ parameters.RepoOwner }}/", ""
|
||||
echo "##vso[task.setvariable variable=RepoNameWithoutOwner]$repoName"
|
||||
echo "RepoName = $repName"
|
||||
|
||||
displayName: Check for changes
|
||||
echo "RepoName = $repoName"
|
||||
displayName: Remove Repo Owner from Repo Name
|
||||
condition: succeeded()
|
||||
workingDirectory: ${{ parameters.WorkingDirectory }}
|
||||
ignoreLASTEXITCODE: true
|
||||
|
||||
- task: PowerShell@2
|
||||
displayName: Push changes
|
||||
@ -57,6 +62,7 @@ steps:
|
||||
-CommitMsg "${{ parameters.CommitMsg }}"
|
||||
-GitUrl "https://$(azuresdk-github-pat)@github.com/${{ parameters.PROwner }}/$(RepoNameWithoutOwner).git"
|
||||
-PushArgs "${{ parameters.PushArgs }}"
|
||||
-SkipCommit $${{parameters.SkipCheckingForChanges}}
|
||||
|
||||
- task: PowerShell@2
|
||||
displayName: Create pull request
|
||||
|
||||
53
eng/common/scripts/Add-Issue-Comment.ps1
Normal file
53
eng/common/scripts/Add-Issue-Comment.ps1
Normal file
@ -0,0 +1,53 @@
|
||||
[CmdletBinding(SupportsShouldProcess = $true)]
|
||||
param(
|
||||
[Parameter(Mandatory = $true)]
|
||||
[string]$RepoOwner,
|
||||
|
||||
[Parameter(Mandatory = $true)]
|
||||
[string]$RepoName,
|
||||
|
||||
[Parameter(Mandatory = $true)]
|
||||
[string]$IssueNumber,
|
||||
|
||||
[Parameter(Mandatory = $false)]
|
||||
[string]$CommentPrefix,
|
||||
|
||||
[Parameter(Mandatory = $true)]
|
||||
[string]$Comment,
|
||||
|
||||
[Parameter(Mandatory = $false)]
|
||||
[string]$CommentPostFix,
|
||||
|
||||
[Parameter(Mandatory = $true)]
|
||||
[string]$AuthToken
|
||||
)
|
||||
|
||||
. "${PSScriptRoot}\logging.ps1"
|
||||
|
||||
$headers = @{
|
||||
Authorization = "bearer $AuthToken"
|
||||
}
|
||||
|
||||
$apiUrl = "https://api.github.com/repos/$RepoOwner/$RepoName/issues/$IssueNumber/comments"
|
||||
|
||||
$commentPrefixValue = [System.Environment]::GetEnvironmentVariable($CommentPrefix)
|
||||
$commentValue = [System.Environment]::GetEnvironmentVariable($Comment)
|
||||
$commentPostFixValue = [System.Environment]::GetEnvironmentVariable($CommentPostFix)
|
||||
|
||||
if (!$commentPrefixValue) { $commentPrefixValue = $CommentPrefix }
|
||||
if (!$commentValue) { $commentValue = $Comment }
|
||||
if (!$commentPostFixValue) { $commentPostFixValue = $CommentPostFix }
|
||||
|
||||
$PRComment = "$commentPrefixValue $commentValue $commentPostFixValue"
|
||||
|
||||
$data = @{
|
||||
body = $PRComment
|
||||
}
|
||||
|
||||
try {
|
||||
$resp = Invoke-RestMethod -Method POST -Headers $headers -Uri $apiUrl -Body ($data | ConvertTo-Json)
|
||||
}
|
||||
catch {
|
||||
LogError "Invoke-RestMethod [ $apiUrl ] failed with exception:`n$_"
|
||||
exit 1
|
||||
}
|
||||
56
eng/common/scripts/Queue-Pipeline.ps1
Normal file
56
eng/common/scripts/Queue-Pipeline.ps1
Normal file
@ -0,0 +1,56 @@
|
||||
[CmdletBinding(SupportsShouldProcess = $true)]
|
||||
param(
|
||||
[Parameter(Mandatory = $true)]
|
||||
[string]$Organization,
|
||||
|
||||
[Parameter(Mandatory = $true)]
|
||||
[string]$Project,
|
||||
|
||||
[Parameter(Mandatory = $true)]
|
||||
[string]$SourceBranch,
|
||||
|
||||
[Parameter(Mandatory = $true)]
|
||||
[int]$DefinitionId,
|
||||
|
||||
[Parameter(Mandatory = $false)]
|
||||
[string]$VsoQueuedPipelines,
|
||||
|
||||
[Parameter(Mandatory = $true)]
|
||||
[string]$AuthToken
|
||||
)
|
||||
|
||||
. "${PSScriptRoot}\logging.ps1"
|
||||
|
||||
$headers = @{
|
||||
Authorization = "Basic $AuthToken"
|
||||
}
|
||||
|
||||
$apiUrl = "https://dev.azure.com/$Organization/$Project/_apis/build/builds?api-version=6.0"
|
||||
|
||||
$body = @{
|
||||
sourceBranch = $SourceBranch
|
||||
definition = @{ id = $DefinitionId }
|
||||
}
|
||||
|
||||
Write-Verbose ($body | ConvertTo-Json)
|
||||
|
||||
try {
|
||||
$resp = Invoke-RestMethod -Method POST -Headers $headers $apiUrl -Body ($body | ConvertTo-Json) -ContentType application/json
|
||||
}
|
||||
catch {
|
||||
LogError "Invoke-RestMethod [ $apiUrl ] failed with exception:`n$_"
|
||||
exit 1
|
||||
}
|
||||
|
||||
LogDebug "Pipeline [ $($resp.definition.name) ] queued at [ $($resp._links.web.href) ]"
|
||||
|
||||
if ($VsoQueuedPipelines) {
|
||||
$enVarValue = [System.Environment]::GetEnvironmentVariable($VsoQueuedPipelines)
|
||||
$QueuedPipelineLinks = if ($enVarValue) {
|
||||
"$enVarValue<br>[$($resp.definition.name)]($($resp._links.web.href))"
|
||||
}else {
|
||||
"[$($resp.definition.name)]($($resp._links.web.href))"
|
||||
}
|
||||
$QueuedPipelineLinks
|
||||
Write-Host "##vso[task.setvariable variable=$VsoQueuedPipelines]$QueuedPipelineLinks"
|
||||
}
|
||||
@ -25,7 +25,10 @@ param(
|
||||
[string] $GitUrl,
|
||||
|
||||
[Parameter(Mandatory = $false)]
|
||||
[string] $PushArgs = ""
|
||||
[string] $PushArgs = "",
|
||||
|
||||
[Parameter(Mandatory = $false)]
|
||||
[boolean] $SkipCommit = $false
|
||||
)
|
||||
|
||||
# This is necessay because of the janky git command output writing to stderr.
|
||||
@ -57,12 +60,17 @@ if ($LASTEXITCODE -ne 0)
|
||||
exit $LASTEXITCODE
|
||||
}
|
||||
|
||||
Write-Host "git -c user.name=`"azure-sdk`" -c user.email=`"azuresdk@microsoft.com`" commit -am `"$($CommitMsg)`""
|
||||
git -c user.name="azure-sdk" -c user.email="azuresdk@microsoft.com" commit -am "$($CommitMsg)"
|
||||
if ($LASTEXITCODE -ne 0)
|
||||
{
|
||||
Write-Error "Unable to add files and create commit LASTEXITCODE=$($LASTEXITCODE), see command output above."
|
||||
exit $LASTEXITCODE
|
||||
if (!$SkipCommit) {
|
||||
Write-Host "git -c user.name=`"azure-sdk`" -c user.email=`"azuresdk@microsoft.com`" commit -am `"$($CommitMsg)`""
|
||||
git -c user.name="azure-sdk" -c user.email="azuresdk@microsoft.com" commit -am "$($CommitMsg)"
|
||||
if ($LASTEXITCODE -ne 0)
|
||||
{
|
||||
Write-Error "Unable to add files and create commit LASTEXITCODE=$($LASTEXITCODE), see command output above."
|
||||
exit $LASTEXITCODE
|
||||
}
|
||||
}
|
||||
else {
|
||||
Write-Host "Skipped applying commit"
|
||||
}
|
||||
|
||||
# The number of retries can be increased if necessary. In theory, the number of retries
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
# Common Changelog Operations
|
||||
|
||||
$RELEASE_TITLE_REGEX = "(?<releaseNoteTitle>^\#+.*(?<version>\b\d+\.\d+\.\d+([^0-9\s][^\s:]+)?)(\s(?<releaseStatus>\(Unreleased\)|\(\d{4}-\d{2}-\d{2}\)))?)"
|
||||
|
||||
# Returns a Collection of changeLogEntry object containing changelog info for all version present in the gived CHANGELOG
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
# This Files has been retired
|
||||
# Helper functions for retireving useful information from azure-sdk-for-* repo
|
||||
# Example Use : Import-Module .\eng\common\scripts\modules
|
||||
class PackageProps
|
||||
|
||||
Loading…
Reference in New Issue
Block a user