Skip to content

Commit bcf4b5e

Browse files
committed
ci: implemented incrementing patch version on CI
1 parent f21c1f7 commit bcf4b5e

File tree

1 file changed

+24
-12
lines changed

1 file changed

+24
-12
lines changed

build/build.fs

Lines changed: 24 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,7 @@ let failOnBadExitAndPrint (p : ProcessResult) =
122122

123123
failwithf "failed with exitcode %d" p.ExitCode
124124

125+
let isPublishToGitHub ctx = ctx.Context.FinalTarget = "PublishToGitHub"
125126

126127
let isCI = lazy environVarAsBoolOrDefault "CI" false
127128

@@ -229,9 +230,8 @@ let failOnCIBuild () =
229230
if isCI.Value then
230231
failwith "On CI. If you want to run this target, please use a local build."
231232

232-
let allPublishChecks () =
233-
failOnLocalBuild ()
234-
Changelog.failOnEmptyChangelog latestEntry
233+
let allPublishChecks () = failOnLocalBuild ()
234+
//Changelog.failOnEmptyChangelog latestEntry
235235

236236
//-----------------------------------------------------------------------------
237237
// Target Implementations
@@ -266,7 +266,23 @@ let dotnetRestore _ =
266266
|> Seq.iter (retryIfInCI 10)
267267

268268
let updateChangelog ctx =
269-
latestEntry <- Changelog.updateChangelog changelogPath changelog gitHubRepoUrl ctx
269+
latestEntry <-
270+
if not <| isPublishToGitHub ctx then
271+
Changelog.updateChangelog changelogPath changelog gitHubRepoUrl ctx
272+
else
273+
let latest = changelog.LatestEntry
274+
let semVer = {
275+
latest.SemVer with
276+
Original = None
277+
Patch = latest.SemVer.Patch + 1u
278+
PreRelease = PreRelease.TryParse "ci"
279+
}
280+
{
281+
latest with
282+
SemVer = semVer
283+
NuGetVersion = semVer.AsString
284+
AssemblyVersion = semVer.AsString
285+
}
270286

271287
let revertChangelog _ =
272288
if String.isNotNullOrEmpty Changelog.changelogBackupFilename then
@@ -280,13 +296,13 @@ let deleteChangelogBackupFile _ =
280296
let getPackageVersionProperty publishToGitHub =
281297
if publishToGitHub then
282298
let runId = Environment.environVar "GITHUB_RUN_ID"
283-
$"/p:PackageVersion=%s{latestEntry.NuGetVersion}-ci-%s{runId}"
299+
$"/p:PackageVersion=%s{latestEntry.NuGetVersion}-%s{runId}"
284300
else
285301
$"/p:PackageVersion=%s{latestEntry.NuGetVersion}"
286302

287303
let dotnetBuild ctx =
288304

289-
let publishToGitHub = ctx.Context.FinalTarget = "PublishToGitHub"
305+
let publishToGitHub = isPublishToGitHub ctx
290306

291307
let args = [ getPackageVersionProperty publishToGitHub; "--no-restore" ]
292308

@@ -447,10 +463,7 @@ let dotnetPack ctx =
447463
// Get release notes with properly-linked version number
448464
let releaseNotes = Changelog.mkReleaseNotes changelog latestEntry gitHubRepoUrl
449465

450-
let args = [
451-
getPackageVersionProperty (ctx.Context.FinalTarget = "PublishToGitHub")
452-
$"/p:PackageReleaseNotes=\"{releaseNotes}\""
453-
]
466+
let args = [ getPackageVersionProperty (isPublishToGitHub ctx); $"/p:PackageReleaseNotes=\"{releaseNotes}\"" ]
454467

455468
DotNet.pack
456469
(fun c -> {
@@ -531,7 +544,6 @@ let githubRelease _ =
531544

532545
let files = !!distGlob
533546
// Get release notes with properly-linked version number
534-
535547
let releaseNotes = Changelog.mkReleaseNotes changelog latestEntry gitHubRepoUrl
536548

537549
GitHub.createClientWithToken token
@@ -659,7 +671,7 @@ let initTargets (ctx : Context.FakeExecutionContext) =
659671
==>! "ShowCoverageReport"
660672

661673
"UpdateChangelog"
662-
=?> ("GenerateAssemblyInfo", not isPublishToGitHub)
674+
==> "GenerateAssemblyInfo"
663675
==> "GitRelease"
664676
==>! "Release"
665677

0 commit comments

Comments
 (0)