parameters:
  github:
    isPreRelease: false
    repositoryName: '$(Build.Repository.Name)'
    gitHubConnection: "MyGithubConnection"
  dependsOn: []
  displayName: "Release to github"

steps:
  - script: |
      VER=$(cat Cargo.toml| grep version -m 1 | awk -F '"' '{ print $2 }')
      echo '##vso[task.setvariable variable=vers]'v$VER
    condition: not(eq(variables['Agent.OS'], 'Windows_NT'))
    displayName: Obtain version from Cargo.toml on Unix

  - powershell: |
      Select-String -Path "Cargo.toml" -Pattern "version" | Select-Object -First 1 -outvariable v
      $vv = [regex]::match($v, '"([^"]+)"').Groups[1].Value
      echo "##vso[task.setvariable variable=vers]v$vv"
    condition: eq(variables['Agent.OS'], 'Windows_NT')
    displayName: Obtain version from Cargo.toml on Windows

  - task: GitHubRelease@0
    displayName: Create GitHub release
    inputs:
      gitHubConnection: ${{ parameters.github.gitHubConnection }}
      tagSource: manual
      title: '$(vers)'
      tag: '$(vers)'
      assetUploadMode: replace
      action: edit
      assets: 'espanso-*'
      addChangeLog: false
      repositoryName: ${{ parameters.github.repositoryName }}
      isPreRelease: ${{ parameters.github.isPreRelease }}
    condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master'))