...
1parameters:
2 BaseRepoBranch: not-specified
3 BaseRepoOwner: azure-sdk
4 CommitMsg: not-specified
5 TargetRepoOwner: Azure
6 TargetRepoName: $(Build.Repository.Name)
7 PushArgs:
8 WorkingDirectory: $(System.DefaultWorkingDirectory)'
9 ScriptDirectory: eng/common/scripts
10 SkipCheckingForChanges: false
11
12steps:
13- pwsh: |
14 echo "git add -A"
15 git add -A
16
17 echo "git diff --name-status --cached --exit-code"
18 git diff --name-status --cached --exit-code
19
20 if ($LastExitCode -ne 0) {
21 echo "##vso[task.setvariable variable=HasChanges]$true"
22 echo "Changes detected so setting HasChanges=true"
23 }
24 else {
25 echo "##vso[task.setvariable variable=HasChanges]$false"
26 echo "No changes so skipping code push"
27 }
28 displayName: Check for changes
29 condition: and(succeeded(), eq(${{ parameters.SkipCheckingForChanges }}, false))
30 workingDirectory: ${{ parameters.WorkingDirectory }}
31 ignoreLASTEXITCODE: true
32
33- pwsh: |
34 # Remove the repo owner from the front of the repo name if it exists there
35 $repoName = "${{ parameters.TargetRepoName }}" -replace "^${{ parameters.TargetRepoOwner }}/", ""
36 echo "##vso[task.setvariable variable=RepoNameWithoutOwner]$repoName"
37 echo "RepoName = $repoName"
38 displayName: Remove Repo Owner from Repo Name
39 condition: succeeded()
40 workingDirectory: ${{ parameters.WorkingDirectory }}
41
42- task: PowerShell@2
43 displayName: Push changes
44 condition: and(succeeded(), eq(variables['HasChanges'], 'true'))
45 inputs:
46 pwsh: true
47 workingDirectory: ${{ parameters.WorkingDirectory }}
48 filePath: ${{ parameters.ScriptDirectory }}/git-branch-push.ps1
49 arguments: >
50 -PRBranchName "${{ parameters.BaseRepoBranch }}"
51 -CommitMsg "${{ parameters.CommitMsg }}"
52 -GitUrl "https://$(azuresdk-github-pat)@github.com/${{ parameters.BaseRepoOwner }}/$(RepoNameWithoutOwner).git"
53 -PushArgs "${{ parameters.PushArgs }}"
54 -SkipCommit $${{ parameters.SkipCheckingForChanges }}
View as plain text