public void BreakingChangeYieldsMajorRelease() { var commits = new List <ReleaseCommit>(); commits.Add(GetBreakingPatchCommit()); var parser = new CommitMessageParser(commits); var result = parser.GetReleaseType(); Assert.Equal(ReleaseType.MAJOR, result); }
public void FeatureYieldsMinorRelease() { var commits = new List <ReleaseCommit>(); commits.Add(GetFeatureCommit()); var parser = new CommitMessageParser(commits); var result = parser.GetReleaseType(); Assert.Equal(ReleaseType.MINOR, result); }
public void SecurityYieldsPatchRelease() { var commits = new List <ReleaseCommit>(); commits.Add(GetCommit("security")); var parser = new CommitMessageParser(commits); var result = parser.GetReleaseType(); Assert.Equal(ReleaseType.PATCH, result); }
public void NonVersionableChangesYieldsNoRelease() { var commits = new List <ReleaseCommit>(); commits.Add(GetNonVersionableChange()); var parser = new CommitMessageParser(commits); var result = parser.GetReleaseType(); Assert.Equal(ReleaseType.NONE, result); }
public void MinorReleaseCommitTakesPrecedenceOverPatch() { var commits = new List <ReleaseCommit>(); commits.Add(GetFeatureCommit()); commits.Add(GetPatchCommit()); var parser = new CommitMessageParser(commits); var result = parser.GetReleaseType(); Assert.Equal(ReleaseType.MINOR, result); }
private bool TryGetChangeLogEntry(GitCommit commit, [NotNullWhen(true)] out ChangeLogEntry?entry) { var strictMode = m_Configuration.Parser.Mode == ChangeLogConfiguration.ParserMode.Strict; try { var parsed = CommitMessageParser.Parse(commit.CommitMessage, strictMode); entry = ChangeLogEntry.FromCommitMessage(commit, parsed); return(true); } catch (ParserException) { m_Logger.LogDebug($"Ignoring commit '{commit.Id}' because the commit message could not be parsed."); entry = default; return(false); } }