variables: - template: templates/variables.yml stages: - stage: build jobs: - job: Build pool: vmImage: ${{ variables.vmImage }} steps: - template: templates/build-steps.yml - stage: publish jobs: - job: strategy: matrix: win10-x64: runtime: win10-x64 format: zip compression: zip win10-x86: runtime: win10-x86 format: zip compression: zip osx-x64: runtime: osx-x64 format: tar.gz compression: tar linux-x64: runtime: linux-x64 format: tar.gz compression: tar linux-arm: runtime: linux-arm format: tar.gz compression: tar linux-arm64: runtime: linux-arm64 format: tar.gz compression: tar pool: vmImage: ${{ variables.vmImage }} steps: - template: templates/publish-os-steps.yml - stage: deploy jobs: - job: steps: - task: DownloadPipelineArtifact@2 inputs: buildType: 'current' targetPath: '$(System.ArtifactsDirectory)' - task: PowerShell@2 displayName: 'Get Release Notes' inputs: targetType: 'inline' script: | $response = Invoke-WebRequest -Uri "https://ombireleasenote.azurewebsites.net/api/ReleaseNotesFunction?buildId=$(Build.BuildId)" Write-Host "##vso[task.setvariable variable=ReleaseNotes;]$response" - task: GitHubRelease@1 inputs: gitHubConnection: 'github.com_tidusjar' repositoryName: 'tidusjar/Ombi' action: 'create' target: '$(Build.SourceVersion)' tagSource: 'userSpecifiedTag' tag: '$(gitTag)' isDraft: true changeLogCompareToRelease: 'lastNonDraftRelease' changeLogType: 'commitBased' - task: GitHubRelease@1 inputs: gitHubConnection: 'github.com_tidusjar' repositoryName: 'tidusjar/Ombi.Releases' action: 'create' target: 'c7fcbb77b58aef1076d635a9ef99e4374abc8672' tagSource: 'userSpecifiedTag' tag: '$(gitTag)' releaseNotesSource: 'inline' releaseNotesInline: '$(ReleaseNotes)' assets: | $(System.ArtifactsDirectory)/**/*.zip $(System.ArtifactsDirectory)/**/*.tar.gz isPreRelease: true changeLogCompareToRelease: 'lastNonDraftRelease' changeLogType: 'commitBased' condition: and(succeeded(), eq(variables['PublishToGithub'], 'true'))