Fix release stage command
ln.build - build0.waldrennach.l--n.de build job pending Details

master
Harald Wolff 2020-12-09 12:36:14 +01:00
parent 73994ac366
commit b770183fef
5 changed files with 8 additions and 8 deletions

View File

@ -6,7 +6,7 @@
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
<Version>0.4.3</Version> <Version>0.4.3-ci</Version>
<Authors>Harald Wolff-Thobaben</Authors> <Authors>Harald Wolff-Thobaben</Authors>
<Company>l--n.de</Company> <Company>l--n.de</Company>
<Description>A simple build server scheduling builds triggered via web-hooks</Description> <Description>A simple build server scheduling builds triggered via web-hooks</Description>

View File

@ -5,7 +5,7 @@
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
<Version>0.4.3</Version> <Version>0.4.3-ci</Version>
<Authors>Harald Wolff-Thobaben</Authors> <Authors>Harald Wolff-Thobaben</Authors>
<Company>l--n.de</Company> <Company>l--n.de</Company>
<Description>A simple build server scheduling builds triggered via web-hooks</Description> <Description>A simple build server scheduling builds triggered via web-hooks</Description>

View File

@ -19,7 +19,7 @@ namespace ln.build.pipeline
if (stage.CommandEnvironment.CIJob.Repository is Repository repository) if (stage.CommandEnvironment.CIJob.Repository is Repository repository)
{ {
SemVersion releaseVersion = (SemVersion)stage.CommandEnvironment.Get("RELEASE_VERSION"); SemVersion releaseVersion = (SemVersion)stage.CommandEnvironment.Get("RELEASE_VERSION");
if (releaseVersion != null) if (releaseVersion?.IsRelease ?? false)
{ {
Release release = repository.GetRelease(releaseVersion.ToString()); Release release = repository.GetRelease(releaseVersion.ToString());
if (release != null) if (release != null)
@ -27,14 +27,14 @@ namespace ln.build.pipeline
stage.CommandEnvironment.Logger.Log(LogLevel.WARNING, "source repository already has release {0}", releaseVersion); stage.CommandEnvironment.Logger.Log(LogLevel.WARNING, "source repository already has release {0}", releaseVersion);
} else } else
{ {
string releaseBody = ""; string releaseBody = String.Format("automatic release by ln.build.server");
string release_ref = stage.CommandEnvironment.Get("REPO_REF"); string release_ref = stage.CommandEnvironment.Get("REPO_REF");
if (release_ref == null) if (release_ref == null)
{ {
stage.CommandEnvironment.Logger.Log(LogLevel.WARNING,"release: no source repository reference found. can't create release!"); stage.CommandEnvironment.Logger.Log(LogLevel.WARNING,"release: no source repository reference found. can't create release!");
} else } else
{ {
release = repository.CreateRelease(releaseVersion, releaseBody, release_ref); release = repository.CreateRelease(releaseVersion, String.Format("CI Release {0}", releaseVersion.ToString()), releaseBody, release_ref);
foreach (string artefact in stage.CommandEnvironment.Get("RELEASE_ARTEFACTS","").Split(':')) foreach (string artefact in stage.CommandEnvironment.Get("RELEASE_ARTEFACTS","").Split(':'))
{ {
release.CreateOrReplaceAttachment(artefact,Path.GetFileName(artefact)); release.CreateOrReplaceAttachment(artefact,Path.GetFileName(artefact));

View File

@ -15,7 +15,7 @@ namespace ln.build.repositories
public abstract Release GetRelease(string tagName); public abstract Release GetRelease(string tagName);
public abstract Release GetRelease(int id); public abstract Release GetRelease(int id);
public abstract Release CreateRelease(SemVersion releaseVersion, string body, string target_reference); public abstract Release CreateRelease(SemVersion releaseVersion, string name, string body, string target_reference);
public abstract void CommitAndPush(string message, string[] addedPaths, string[] modifiedPaths, string[] removedPaths); public abstract void CommitAndPush(string message, string[] addedPaths, string[] modifiedPaths, string[] removedPaths);

View File

@ -103,9 +103,9 @@ namespace ln.build.repositories.gitea
return null; return null;
} }
public override Release CreateRelease(SemVersion releaseVersion, string body, string target_reference) public override Release CreateRelease(SemVersion releaseVersion, string name, string body, string target_reference)
{ {
GiteaRelease giteaRelease = new GiteaRelease(this){ TagName = releaseVersion.ToString(), Body = body, TargetCommit = target_reference }; GiteaRelease giteaRelease = new GiteaRelease(this){ TagName = releaseVersion.ToString(), Name = name, Body = body, TargetCommit = target_reference };
if (HttpStatusCode.Created != Client.PostJson(giteaRelease.ToJson(), out JSONValue jsonRelease, "repos", Owner, Name, "releases")) if (HttpStatusCode.Created != Client.PostJson(giteaRelease.ToJson(), out JSONValue jsonRelease, "repos", Owner, Name, "releases"))
throw new Exception(string.Format("release could not be created => {0}", giteaRelease.ToJson())); throw new Exception(string.Format("release could not be created => {0}", giteaRelease.ToJson()));