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>
<Version>0.4.3</Version>
<Version>0.4.3-ci</Version>
<Authors>Harald Wolff-Thobaben</Authors>
<Company>l--n.de</Company>
<Description>A simple build server scheduling builds triggered via web-hooks</Description>

View File

@ -5,7 +5,7 @@
</PropertyGroup>
<PropertyGroup>
<Version>0.4.3</Version>
<Version>0.4.3-ci</Version>
<Authors>Harald Wolff-Thobaben</Authors>
<Company>l--n.de</Company>
<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)
{
SemVersion releaseVersion = (SemVersion)stage.CommandEnvironment.Get("RELEASE_VERSION");
if (releaseVersion != null)
if (releaseVersion?.IsRelease ?? false)
{
Release release = repository.GetRelease(releaseVersion.ToString());
if (release != null)
@ -27,14 +27,14 @@ namespace ln.build.pipeline
stage.CommandEnvironment.Logger.Log(LogLevel.WARNING, "source repository already has release {0}", releaseVersion);
} else
{
string releaseBody = "";
string releaseBody = String.Format("automatic release by ln.build.server");
string release_ref = stage.CommandEnvironment.Get("REPO_REF");
if (release_ref == null)
{
stage.CommandEnvironment.Logger.Log(LogLevel.WARNING,"release: no source repository reference found. can't create release!");
} 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(':'))
{
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(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);

View File

@ -103,9 +103,9 @@ namespace ln.build.repositories.gitea
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"))
throw new Exception(string.Format("release could not be created => {0}", giteaRelease.ToJson()));