@@ -247,8 +247,21 @@ let watchDocsPrerelease = BuildTask.create "WatchDocsPrerelease" [setPrereleaseT
247
247
" ./"
248
248
}
249
249
250
- let releaseDocs = BuildTask.create " ReleaseDocs" [ buildDocs.IfNeeded; buildDocsPrerelease.IfNeeded] {
251
- let msg = sprintf " release docs for version %s ?" ( if isPrerelease then prereleaseTag else stableVersionTag)
250
+ let releaseDocs = BuildTask.create " ReleaseDocs" [ buildDocs] {
251
+ let msg = sprintf " release docs for version %s ?" stableVersionTag
252
+ if promptYesNo msg then
253
+ Shell.cleanDir " temp"
254
+ Git.CommandHelper.runSimpleGitCommand " ." ( sprintf " clone %s temp/gh-pages --depth 1 -b gh-pages" projectRepo) |> ignore
255
+ Shell.copyRecursive " output" " temp/gh-pages" true |> printfn " %A "
256
+ Git.CommandHelper.runSimpleGitCommand " temp/gh-pages" " add ." |> printfn " %s "
257
+ let cmd = sprintf """ commit -a -m "Update generated documentation for version %s """ release.NugetVersion
258
+ Git.CommandHelper.runSimpleGitCommand " temp/gh-pages" cmd |> printfn " %s "
259
+ Git.Branches.push " temp/gh-pages"
260
+ else failwith " aborted"
261
+ }
262
+
263
+ let releaseDocsPrerelease = BuildTask.create " releaseDocsPrerelease" [ buildDocsPrerelease] {
264
+ let msg = sprintf " release docs for version %s ?" prereleaseTag
252
265
if promptYesNo msg then
253
266
Shell.cleanDir " temp"
254
267
Git.CommandHelper.runSimpleGitCommand " ." ( sprintf " clone %s temp/gh-pages --depth 1 -b gh-pages" projectRepo) |> ignore
@@ -295,7 +308,20 @@ let createPrereleaseTag = BuildTask.create "CreatePrereleaseTag" [setPrereleaseT
295
308
failwith " aborted"
296
309
}
297
310
298
- let publishNuget = BuildTask.create " PublishNuget" [ clean; build; copyBinaries; runTests; pack.IfNeeded; packPrerelease.IfNeeded] {
311
+ let publishNuget = BuildTask.create " PublishNuget" [ clean; build; copyBinaries; runTests; pack] {
312
+ let targets = (!! ( sprintf " %s /*.*pkg" pkgDir ))
313
+ for target in targets do printfn " %A " target
314
+ let msg = sprintf " release package with version %s ?" ( if isPrerelease then prereleaseTag else stableVersionTag)
315
+ if promptYesNo msg then
316
+ let source = " https://api.nuget.org/v3/index.json"
317
+ let apikey = Environment.environVar " NUGET_KEY"
318
+ for artifact in targets do
319
+ let result = DotNet.exec id " nuget" ( sprintf " push -s %s -k %s %s --skip-duplicate" source apikey artifact)
320
+ if not result.OK then failwith " failed to push packages"
321
+ else failwith " aborted"
322
+ }
323
+
324
+ let publishNugetPrerelease = BuildTask.create " PublishNugetPrerelease" [ clean; build; copyBinaries; runTests; packPrerelease] {
299
325
let targets = (!! ( sprintf " %s /*.*pkg" pkgDir ))
300
326
for target in targets do printfn " %A " target
301
327
let msg = sprintf " release package with version %s ?" ( if isPrerelease then prereleaseTag else stableVersionTag)
@@ -311,7 +337,7 @@ let publishNuget = BuildTask.create "PublishNuget" [clean; build; copyBinaries;
311
337
312
338
let _release = BuildTask.createEmpty " Release" [ clean; build; copyBinaries; runTests; pack; buildDocs; createTag; publishNuget; releaseDocs]
313
339
314
- let _releasePreview = BuildTask.createEmpty " ReleasePreview" [ setPrereleaseTag; clean; build; copyBinaries; runTests; packPrerelease; buildDocsPrerelease; createPrereleaseTag; publishNuget ; releaseDocs]
340
+ let _releasePreview = BuildTask.createEmpty " ReleasePreview" [ setPrereleaseTag; clean; build; copyBinaries; runTests; packPrerelease; buildDocsPrerelease; createPrereleaseTag; publishNugetPrerelease ; releaseDocs]
315
341
316
342
let _all = BuildTask.createEmpty " All" [ clean; build; copyBinaries; runTests (* runTestsWithCodeCov*) ; pack; buildDocs]
317
343
0 commit comments