parameters:
  BaseRepoBranch: not-specified
  BaseRepoOwner: azure-sdk
  CommitMsg: not-specified
  TargetRepoOwner: Azure
  TargetRepoName: $(Build.Repository.Name)
  PushArgs:
  WorkingDirectory: $(System.DefaultWorkingDirectory)'
  ScriptDirectory: eng/common/scripts
  SkipCheckingForChanges: false

steps:
- task: PowerShell@2
  displayName: Check for changes
  condition: and(succeeded(), eq(${{ parameters.SkipCheckingForChanges }}, false))
  inputs:
    pwsh: true
    workingDirectory: ${{ parameters.WorkingDirectory }}
    filePath: ${{ parameters.ScriptDirectory }}/check-for-git-changes.ps1
    ignoreLASTEXITCODE: true

- pwsh: |
    # Remove the repo owner from the front of the repo name if it exists there
    $repoName = "${{ parameters.TargetRepoName }}" -replace "^${{ parameters.TargetRepoOwner }}/", ""
    echo "##vso[task.setvariable variable=RepoNameWithoutOwner]$repoName"
    echo "RepoName = $repoName"
  displayName: Remove Repo Owner from Repo Name
  condition: succeeded()
  workingDirectory: ${{ parameters.WorkingDirectory }}

- template: /eng/common/pipelines/templates/steps/emit-rate-limit-metrics.yml
  parameters:
    GitHubUser: azure-sdk
    GitHubToken: $(azuresdk-github-pat)

- task: PowerShell@2
  displayName: Push changes
  condition: and(succeeded(), eq(variables['HasChanges'], 'true'))
  inputs:
    pwsh: true
    workingDirectory: ${{ parameters.WorkingDirectory }}
    filePath: ${{ parameters.ScriptDirectory }}/git-branch-push.ps1
    arguments: >
      -PRBranchName "${{ parameters.BaseRepoBranch }}"
      -CommitMsg "${{ parameters.CommitMsg }}"
      -GitUrl "https://$(azuresdk-github-pat)@github.com/${{ parameters.BaseRepoOwner }}/$(RepoNameWithoutOwner).git"
      -PushArgs "${{ parameters.PushArgs }}"
      -SkipCommit $${{ parameters.SkipCheckingForChanges }}
