Skip to content

Commit 3539875

Browse files
authored
Work CD-CI
- Fix github release steps (following template). ***NO_CI***
1 parent 3d5214e commit 3539875

File tree

1 file changed

+48
-4
lines changed

1 file changed

+48
-4
lines changed

azure-pipelines.yml

Lines changed: 48 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,28 @@ steps:
9292
continueOnError: true
9393
displayName: Push "Server" variant NuGet package to NuGet
9494

95+
- powershell: |
96+
# get subject and commit message for commit
97+
$commitMessage = git log --format='%B' -1
98+
99+
# need to flatten message by removing new lines
100+
$commitMessage = $commitMessage -replace "`r`n", " "
101+
102+
if($commitMessage -like "*PUBLISH_RELEASE*")
103+
{
104+
# set variable
105+
Write-Host "$("##vso[task.setvariable variable=RELEASE_DRAFT]")false"
106+
Write-Host "Release draft: FALSE"
107+
}
108+
else
109+
{
110+
# set variable
111+
Write-Host "$("##vso[task.setvariable variable=RELEASE_DRAFT]")true"
112+
Write-Host "Release draft: TRUE"
113+
}
114+
115+
displayName: set release draft var
116+
95117
# create or update GitHub release
96118
- task: GitHubReleasePublish@1
97119
inputs:
@@ -102,11 +124,12 @@ steps:
102124
githubReleaseTitle: '$(nugetPackageName) Library v$(MY_NUGET_VERSION)'
103125
githubReleaseNotes: 'Check the [changelog]($(Build.Repository.Uri)/blob/$(Build.SourceBranchName)/CHANGELOG.md).<br><br><h4>Install from nanoFramework MyGet development feed</h4><br>The following NuGet packages are available for download from this release:<br>:package: [.NET](https://www.myget.org/feed/nanoframework-dev/package/nuget/$(nugetPackageName)/$(MY_NUGET_VERSION)) v$(MY_NUGET_VERSION)<br>:package: [.NET (client API only)](https://www.myget.org/feed/nanoframework-dev/package/nuget/nanoFramework.System.Net.Http.Client/$(MY_NUGET_VERSION)) v$(MY_NUGET_VERSION)<br>:package: [.NET (server API only)](https://www.myget.org/feed/nanoframework-dev/package/nuget/nanoFramework.System.Net.Http.Server/$(MY_NUGET_VERSION)) v$(MY_NUGET_VERSION)'
104126
githubTargetCommitsh: $(Build.SourceVersion)
105-
githubReleaseDraft: true
127+
githubReleaseDraft: $(RELEASE_DRAFT)
106128
githubReleasePrerelease: true
107129
githubReuseDraftOnly: true
108130
githubReuseRelease: true
109131
githubEditRelease: true
132+
githubDeleteEmptyTag: true
110133
githubReleaseAsset: '$(Build.ArtifactStagingDirectory)/*.nupkg'
111134
condition: and( succeeded(), not( startsWith(variables['Build.SourceBranch'], 'refs/pull') ), not( startsWith(variables['Build.SourceBranch'], 'refs/tags/v') ) )
112135
displayName: Create/Update GitHub release
@@ -121,13 +144,34 @@ steps:
121144
githubReleaseTitle: '$(nugetPackageName) Library v$(MY_NUGET_VERSION)'
122145
githubReleaseNotes: 'Check the [changelog]($(Build.Repository.Uri)/blob/$(Build.SourceBranchName)/CHANGELOG.md).<br><br><h4>Install from NuGet</h4><br>The following NuGet packages are available for download from this release:<br>:package: [.NET](https://www.nuget.org/packages/$(nugetPackageName)/$(MY_NUGET_VERSION)) v$(MY_NUGET_VERSION).<br>:package: [.NET (client API only)](https://www.nuget.org/packages/nanoFramework.System.Net.Http.Client/$(MY_NUGET_VERSION)) v$(MY_NUGET_VERSION)<br>:package: [.NET (server API only)](https://www.nuget.org/packages/nanoFramework.System.Net.Http.Server/$(MY_NUGET_VERSION)) v$(MY_NUGET_VERSION)'
123146
githubTargetCommitsh: $(Build.SourceVersion)
124-
githubReleaseDraft: false
125-
githubReleasePrerelease: false
147+
githubReleaseDraft: $(RELEASE_DRAFT)
148+
githubReleasePrerelease: true
126149
githubReuseDraftOnly: false
127150
githubReuseRelease: true
128151
githubEditRelease: true
152+
githubDeleteEmptyTag: true
129153
githubReleaseAsset: '$(Build.ArtifactStagingDirectory)/*.nupkg'
130-
condition: and( succeeded(), startsWith(variables['Build.SourceBranch'], 'refs/tags/v') )
154+
condition: and( succeeded(), startsWith(variables['Build.SourceBranch'], 'refs/tags/v'), contains(variables['Build.SourceBranch'], 'preview') )
155+
displayName: Create/Update GitHub release
156+
157+
# create or update GitHub release ON tags from release or master branches
158+
- task: GitHubReleasePublish@1
159+
inputs:
160+
githubEndpoint: 'nanoframework'
161+
githubOwner: 'nanoframework'
162+
githubRepositoryName: $(repoName)
163+
githubTag: v$(MY_NUGET_VERSION)
164+
githubReleaseTitle: '$(nugetPackageName) Library v$(MY_NUGET_VERSION)'
165+
githubReleaseNotes: 'Check the [changelog]($(Build.Repository.Uri)/blob/$(Build.SourceBranchName)/CHANGELOG.md).<br><br><h4>Install from NuGet</h4><br>The following NuGet packages are available for download from this release:<br>:package: [.NET](https://www.nuget.org/packages/$(nugetPackageName)/$(MY_NUGET_VERSION)) v$(MY_NUGET_VERSION).<br>:package: [.NET (client API only)](https://www.nuget.org/packages/nanoFramework.System.Net.Http.Client/$(MY_NUGET_VERSION)) v$(MY_NUGET_VERSION)<br>:package: [.NET (server API only)](https://www.nuget.org/packages/nanoFramework.System.Net.Http.Server/$(MY_NUGET_VERSION)) v$(MY_NUGET_VERSION)'
166+
githubTargetCommitsh: $(Build.SourceVersion)
167+
githubReleaseDraft: false
168+
githubReleasePrerelease: false
169+
githubReuseDraftOnly: false
170+
githubReuseRelease: false
171+
githubEditRelease: false
172+
githubDeleteEmptyTag: true
173+
githubReleaseAsset: '$(Build.ArtifactStagingDirectory)/*.nupkg'
174+
condition: and( succeeded(), startsWith(variables['Build.SourceBranch'], 'refs/tags/v'), not(contains(variables['Build.SourceBranch'], 'preview') ) )
131175
displayName: Create/Update GitHub release
132176

133177
# step from template @ nf-tools repo

0 commit comments

Comments
 (0)