diff --git a/eng/common/pipelines/templates/steps/create-pull-request.yml b/eng/common/pipelines/templates/steps/create-pull-request.yml
index a60d26c8fe98..e3b3e538c036 100644
--- a/eng/common/pipelines/templates/steps/create-pull-request.yml
+++ b/eng/common/pipelines/templates/steps/create-pull-request.yml
@@ -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
diff --git a/eng/common/scripts/Add-Issue-Comment.ps1 b/eng/common/scripts/Add-Issue-Comment.ps1
new file mode 100644
index 000000000000..b945d70c3fe9
--- /dev/null
+++ b/eng/common/scripts/Add-Issue-Comment.ps1
@@ -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
+}
\ No newline at end of file
diff --git a/eng/common/scripts/Queue-Pipeline.ps1 b/eng/common/scripts/Queue-Pipeline.ps1
new file mode 100644
index 000000000000..4e0122ca9256
--- /dev/null
+++ b/eng/common/scripts/Queue-Pipeline.ps1
@@ -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
[$($resp.definition.name)]($($resp._links.web.href))"
+ }else {
+ "[$($resp.definition.name)]($($resp._links.web.href))"
+ }
+ $QueuedPipelineLinks
+ Write-Host "##vso[task.setvariable variable=$VsoQueuedPipelines]$QueuedPipelineLinks"
+}
\ No newline at end of file
diff --git a/eng/common/scripts/git-branch-push.ps1 b/eng/common/scripts/git-branch-push.ps1
index 9b3d78345589..333ed0a62c5e 100644
--- a/eng/common/scripts/git-branch-push.ps1
+++ b/eng/common/scripts/git-branch-push.ps1
@@ -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
diff --git a/eng/common/scripts/modules/ChangeLog-Operations.psm1 b/eng/common/scripts/modules/ChangeLog-Operations.psm1
index 5aed584d018b..bfcd8d193b00 100644
--- a/eng/common/scripts/modules/ChangeLog-Operations.psm1
+++ b/eng/common/scripts/modules/ChangeLog-Operations.psm1
@@ -1,5 +1,4 @@
# Common Changelog Operations
-
$RELEASE_TITLE_REGEX = "(?^\#+.*(?\b\d+\.\d+\.\d+([^0-9\s][^\s:]+)?)(\s(?\(Unreleased\)|\(\d{4}-\d{2}-\d{2}\)))?)"
# Returns a Collection of changeLogEntry object containing changelog info for all version present in the gived CHANGELOG
diff --git a/eng/common/scripts/modules/Package-Properties.psm1 b/eng/common/scripts/modules/Package-Properties.psm1
index b0572a71d449..61c45455f0d0 100644
--- a/eng/common/scripts/modules/Package-Properties.psm1
+++ b/eng/common/scripts/modules/Package-Properties.psm1
@@ -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