mirror of
https://github.com/greenshot/greenshot.git
synced 2024-12-21 15:11:12 -08:00
107 lines
3.8 KiB
YAML
107 lines
3.8 KiB
YAML
# .NET Desktop
|
|
# Build and run tests for .NET Desktop or Windows classic desktop solutions.
|
|
# Add steps that publish symbols, save build artifacts, and more:
|
|
# https://docs.microsoft.com/azure/devops/pipelines/apps/windows/dot-net
|
|
|
|
trigger:
|
|
batch: true
|
|
branches:
|
|
include:
|
|
- 'release/1.*'
|
|
exclude:
|
|
- 'develop'
|
|
|
|
stages:
|
|
- stage: Build
|
|
jobs:
|
|
- job: Build
|
|
variables:
|
|
- group: 'Plug-in Credentials'
|
|
- name: solution
|
|
value: 'src/Greenshot.sln'
|
|
- name: buildPlatform
|
|
value: 'Any CPU'
|
|
- name: buildConfiguration
|
|
value: 'Release'
|
|
|
|
pool:
|
|
vmImage: 'Windows-latest'
|
|
|
|
steps:
|
|
- task: MSBuild@1
|
|
displayName: Restore nuget packages and generate credential templates
|
|
inputs:
|
|
solution: '$(solution)'
|
|
platform: $(buildPlatform)
|
|
configuration: $(buildConfiguration)
|
|
msbuildArguments: '/restore /t:PrepareForBuild'
|
|
|
|
- task: MSBuild@1
|
|
displayName: Build and package
|
|
inputs:
|
|
solution: '$(solution)'
|
|
platform: $(buildPlatform)
|
|
configuration: $(buildConfiguration)
|
|
env:
|
|
Box13_ClientId: $(Box13_ClientId)
|
|
Box13_ClientSecret: $(Box13_ClientSecret)
|
|
DropBox13_ClientId: $(DropBox13_ClientId)
|
|
DropBox13_ClientSecret: $(DropBox13_ClientSecret)
|
|
Flickr_ClientId: $(Flickr_ClientId)
|
|
Flickr_ClientSecret: $(Flickr_ClientSecret)
|
|
Imgur13_ClientId: $(Imgur13_ClientId)
|
|
Imgur13_ClientSecret: $(Imgur13_ClientSecret)
|
|
Photobucket_ClientId: $(Photobucket_ClientId)
|
|
Photobucket_ClientSecret: $(Photobucket_ClientSecret)
|
|
Picasa_ClientId: $(Picasa_ClientId)
|
|
Picasa_ClientSecret: $(Picasa_ClientSecret)
|
|
|
|
- task: CopyFiles@2
|
|
displayName: 'Copy Files to: $(build.artifactstagingdirectory)'
|
|
inputs:
|
|
SourceFolder: '$(Build.SourcesDirectory)\installer'
|
|
Contents: Greenshot-INSTALLER-*.exe
|
|
TargetFolder: '$(build.artifactstagingdirectory)'
|
|
flattenFolders: true
|
|
|
|
- task: PublishBuildArtifacts@1
|
|
displayName: 'Publish Artifact: drop'
|
|
inputs:
|
|
PathtoPublish: '$(build.artifactstagingdirectory)'
|
|
|
|
- stage: Deploy
|
|
jobs:
|
|
- deployment: GitHub_Release
|
|
pool:
|
|
vmImage: 'Windows-latest'
|
|
|
|
environment: 'GitHub Release'
|
|
strategy:
|
|
# default deployment strategy
|
|
runOnce:
|
|
deploy:
|
|
steps:
|
|
- download: current
|
|
artifact: drop
|
|
|
|
# Create a GitHub release
|
|
- task: GitHubRelease@0
|
|
inputs:
|
|
gitHubConnection: GitHub Release
|
|
repositoryName: '$(Build.Repository.Name)'
|
|
action: 'create' # Options: create, edit, delete
|
|
target: '$(Build.SourceVersion)' # Required when action == Create || Action == Edit
|
|
tagSource: 'manual' # Required when action == Create# Options: auto, manual
|
|
tag: 'v$(Build.BuildNumber)' # Required when action == Edit || Action == Delete || TagSource == Manual
|
|
title: Greenshot $(Build.BuildNumber) unstable # Optional
|
|
#releaseNotesSource: 'file' # Optional. Options: file, input
|
|
#releaseNotesFile: # Optional
|
|
#releaseNotes: # Optional
|
|
assets: '$(Pipeline.Workspace)/drop/*.exe'
|
|
#assetUploadMode: 'delete' # Optional. Options: delete, replace
|
|
isDraft: true # Optional
|
|
isPreRelease: true # Optional
|
|
addChangeLog: true # Optional
|
|
#compareWith: 'lastFullRelease' # Required when addChangeLog == True. Options: lastFullRelease, lastRelease, lastReleaseByTag
|
|
#releaseTag: # Required when compareWith == LastReleaseByTag
|