@@ -10,6 +10,7 @@ open Fake.AppVeyor
1010open Fake
1111open Fake.Git
1212open Fake.ReleaseNotesHelper
13+ open Fake.UserInputHelper
1314open Fake.AssemblyInfoFile
1415open SourceLink
1516
@@ -186,15 +187,29 @@ Target "ReleaseDocs" (fun _ ->
186187open Octokit
187188
188189Target " 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+
189204 StageAll " "
190205 Git.Commit.Commit " " ( sprintf " Bump version to %s " release.NugetVersion)
191- Branches.push " "
206+ Branches.pushBranch " " remote ( Information.getBranchName " " )
192207
193208 Branches.tag " " release.NugetVersion
194- Branches.pushTag " " " origin " release.NugetVersion
209+ Branches.pushTag " " remote release.NugetVersion
195210
196211 // release on github
197- createClient ( getBuildParamOrDefault " github- user" " " ) ( getBuildParamOrDefault " github-pw " " " )
212+ createClient user pw
198213 |> createDraft gitOwner gitName release.NugetVersion ( release.SemVer.PreRelease <> None) release.Notes
199214 |> releaseDraft
200215 |> Async.RunSynchronously
@@ -226,5 +241,6 @@ Target "All" DoNothing
226241 ==> " GenerateDocsJa"
227242 ==> " GenerateDocs"
228243 ==> " ReleaseDocs"
244+ ==> " Release"
229245
230246RunTargetOrDefault " All"
0 commit comments