diff options
author | Chris Rebert <code@rebertia.com> | 2015-04-24 01:43:47 +0300 |
---|---|---|
committer | Chris Rebert <code@rebertia.com> | 2015-04-24 01:43:47 +0300 |
commit | bfbe885cb7a035c69d546bdb9146dc096ddf7f9b (patch) | |
tree | 20c0f9b36cda321314607646002e02e031cb8b4f | |
parent | 86cadbc14663449c2a6d456105fc8a374be4709c (diff) |
Finish & enable commit status setting
3 files changed, 17 insertions, 13 deletions
diff --git a/src/main/scala/com/getbootstrap/savage/github/commit_status/Status.scala b/src/main/scala/com/getbootstrap/savage/github/commit_status/Status.scala index 41b2101..e3b2d5d 100644 --- a/src/main/scala/com/getbootstrap/savage/github/commit_status/Status.scala +++ b/src/main/scala/com/getbootstrap/savage/github/commit_status/Status.scala @@ -7,27 +7,33 @@ object Status { } trait Status { def description: String + def url: Option[String] protected def githubState: String def asRawStatus: RawCommitStatus = { - // FIXME: set context too - // FIXME: set targetUrl when available - new RawCommitStatus().setState(githubState).setDescription(description + Status.context) + val status = new RawCommitStatus() + status.setContext(Status.context).setState(githubState).setDescription(description) + url.foreach{ status.setUrl(_) } + status } def name: String } -case class Success(description: String) extends Status { +case class Success(description: String, buildUrl: String) extends Status { override def githubState = RawCommitStatus.STATE_SUCCESS override def name = "Success" + override def url = Some(buildUrl) } -case class Failure(description: String) extends Status { +case class Failure(description: String, buildUrl: String) extends Status { override def githubState = RawCommitStatus.STATE_FAILURE override def name = "Failure" + override def url = Some(buildUrl) } case class Error(description: String) extends Status { override def githubState = RawCommitStatus.STATE_ERROR override def name = "Error" + override def url = None } case class Pending(description: String) extends Status { override def githubState = RawCommitStatus.STATE_PENDING override def name = "Pending" + override def url = None } diff --git a/src/main/scala/com/getbootstrap/savage/server/CommitStatusSetter.scala b/src/main/scala/com/getbootstrap/savage/server/CommitStatusSetter.scala index 58b393e..6b98f0e 100644 --- a/src/main/scala/com/getbootstrap/savage/server/CommitStatusSetter.scala +++ b/src/main/scala/com/getbootstrap/savage/server/CommitStatusSetter.scala @@ -16,13 +16,11 @@ class CommitStatusSetter extends GitHubActorWithLogging { override def receive = { case commitStatus@StatusForCommit(commit, status) => { - if (false) { - tryToSetCommitStatus(commitStatus) match { - case Success(createdCommitStatus) => { - log.info(s"Successfully set/created commit status ${createdCommitStatus.getUrl} with state ${status.name} for ${commit}") - } - case Failure(exc) => log.error(exc, s"Error setting ${commitStatus}") + tryToSetCommitStatus(commitStatus) match { + case Success(createdCommitStatus) => { + log.info(s"Successfully set/created commit status ${createdCommitStatus.getUrl} with state ${status.name} for ${commit}") } + case Failure(exc) => log.error(exc, s"Error setting ${commitStatus}") } } } diff --git a/src/main/scala/com/getbootstrap/savage/server/SavageWebService.scala b/src/main/scala/com/getbootstrap/savage/server/SavageWebService.scala index 032fad7..4f44d7f 100644 --- a/src/main/scala/com/getbootstrap/savage/server/SavageWebService.scala +++ b/src/main/scala/com/getbootstrap/savage/server/SavageWebService.scala @@ -76,9 +76,9 @@ class SavageWebService( case Success(prNum) => { branchDeleter ! BranchDeletionRequest(event.branchName, event.commitSha) val commitStatus = if (event.status.isSuccessful) { - commit_status.Success("CONFIRMED: Savage cross-browser JS testing passed") + commit_status.Success("CONFIRMED: Savage cross-browser JS testing passed", event.buildUrl) } else { - commit_status.Failure("BUSTED: Savage cross-browser JS testing failed") + commit_status.Failure("BUSTED: Savage cross-browser JS testing failed", event.buildUrl) } statusSetter ! commitStatus pullRequestCommenter ! PullRequestBuildResult( |