← Back to team overview

sts-sponsors team mailing list archive

[Merge] ~maas-committers/maas-ci/+git/maas-ci-config:jenkins-commit-status into ~maas-committers/maas-ci/+git/maas-ci-config:master

 

Jack Lloyd-Walters has proposed merging ~maas-committers/maas-ci/+git/maas-ci-config:jenkins-commit-status into ~maas-committers/maas-ci/+git/maas-ci-config:master.

Commit message:
Update tested github commits with test status

Requested reviews:
  MAAS Committers (maas-committers)

For more details, see:
https://code.launchpad.net/~maas-committers/maas-ci/+git/maas-ci-config/+merge/437623
-- 
Your team MAAS Committers is requested to review the proposed merge of ~maas-committers/maas-ci/+git/maas-ci-config:jenkins-commit-status into ~maas-committers/maas-ci/+git/maas-ci-config:master.
diff --git a/jenkins/jobs/ansible_playbook.yaml b/jenkins/jobs/ansible_playbook.yaml
index 1bbb960..ef2d6dc 100644
--- a/jenkins/jobs/ansible_playbook.yaml
+++ b/jenkins/jobs/ansible_playbook.yaml
@@ -6,6 +6,21 @@
     triggers:
       - timed: '@daily'
     dsl: |
+      def updateCommitStatus(message, state) {
+        commit_sha = sh(
+          script: "git ls-remote ${params.ANSIBLE_REPO} | grep refs/heads/${params.ANSIBLE_BRANCH} | cut -f 1"
+          returnStdout: true
+        ).trim()
+        step([
+          $class: 'GitHubCommitStatusSetter',
+          reposSource: [$class: "ManuallyEnteredRepositorySource", url: ${params.ANSIBLE_REPO}],
+          commitShaSource: [$class: "ManuallyEnteredShaSource", sha: commit_sha],
+          statusResultSource: [
+            $class: 'ConditionalStatusResultSource',
+            results: [$class: "AnyBuildResult", message: message, state: state]
+          ]
+        ]);
+      };
       pipeline {
         agent {
           label 'ci-lab'
@@ -68,9 +83,11 @@
           }
           success {
             mattermostSend (color: 'green', message: "[${env.JOB_NAME} #${env.BUILD_NUMBER}](${env.BUILD_URL}) :success: was successful")
+            updateCommitStatus("${env.BUILD_URL}", "SUCCESS");
           }
           failure {
             mattermostSend (color: 'red', message: "[${env.JOB_NAME} #${env.BUILD_NUMBER}](${env.BUILD_URL}) :fire: failed")
+            updateCommitStatus("${env.BUILD_URL}", "FAILURE");
           }
         }
       }

Follow ups