@@ -10,6 +10,7 @@ open Fake.AppVeyor
10
10
open Fake
11
11
open Fake.Git
12
12
open Fake.ReleaseNotesHelper
13
+ open Fake.UserInputHelper
13
14
open Fake.AssemblyInfoFile
14
15
open SourceLink
15
16
@@ -186,15 +187,29 @@ Target "ReleaseDocs" (fun _ ->
186
187
open Octokit
187
188
188
189
Target " Release" ( fun _ ->
190
+ let user =
191
+ match getBuildParam " github-user" with
192
+ | s when not ( String.IsNullOrWhiteSpace s) -> s
193
+ | _ -> getUserInput " Username: "
194
+ let pw =
195
+ match getBuildParam " github-pw" with
196
+ | s when not ( String.IsNullOrWhiteSpace s) -> s
197
+ | _ -> getUserPassword " Password: "
198
+ let remote =
199
+ Git.CommandHelper.getGitResult " " " remote -v"
200
+ |> Seq.filter ( fun ( s : string ) -> s.EndsWith( " (push)" ))
201
+ |> Seq.tryFind ( fun ( s : string ) -> s.Contains( gitOwner + " /" + gitName))
202
+ |> function None -> gitHome + " /" + gitName | Some ( s: string) -> s.Split().[ 0 ]
203
+
189
204
StageAll " "
190
205
Git.Commit.Commit " " ( sprintf " Bump version to %s " release.NugetVersion)
191
- Branches.push " "
206
+ Branches.pushBranch " " remote ( Information.getBranchName " " )
192
207
193
208
Branches.tag " " release.NugetVersion
194
- Branches.pushTag " " " origin " release.NugetVersion
209
+ Branches.pushTag " " remote release.NugetVersion
195
210
196
211
// release on github
197
- createClient ( getBuildParamOrDefault " github- user" " " ) ( getBuildParamOrDefault " github-pw " " " )
212
+ createClient user pw
198
213
|> createDraft gitOwner gitName release.NugetVersion ( release.SemVer.PreRelease <> None) release.Notes
199
214
|> releaseDraft
200
215
|> Async.RunSynchronously
@@ -226,5 +241,6 @@ Target "All" DoNothing
226
241
==> " GenerateDocsJa"
227
242
==> " GenerateDocs"
228
243
==> " ReleaseDocs"
244
+ ==> " Release"
229
245
230
246
RunTargetOrDefault " All"
0 commit comments