Skip to content
Snippets Groups Projects
Jenkinsfile 1.99 KiB
Newer Older
pipeline {
  agent any
  options {
    timestamps()
    ansiColor('xterm')
  }
  environment {
    GITLAB_API_TOKEN = credentials('GitLabToken')
    BASE_GITLAB_URL =  credentials('GitLabBaseUrl')
  }
  stages {
    stage('Static Analysis') {
      agent {
        docker { image '${BASE_GITLAB_URL}/center-for-computational-genomics-and-data-science/utility-images/static-analysis:v1.1'}
      }
      steps {
        sh '/bin/linting.sh'
      }
      post {
        success {
          sh 'curl --request POST --header "PRIVATE-TOKEN: ${GITLAB_API_TOKEN}" "https://gitlab.rc.uab.edu/api/v4/projects/1585/statuses/${GIT_COMMIT}?state=success&name=jenkins_static_analysis"'
          sh 'curl --request POST --header "PRIVATE-TOKEN: ${GITLAB_API_TOKEN}" "https://gitlab.rc.uab.edu/api/v4/projects/1585/statuses/${GIT_COMMIT}?state=canceled&name=jenkins_static_analysis"'
        }
      }
    }
    stage('Unit Test') {
      agent {
        docker { image 'continuumio/miniconda3:4.9.2' }
      }
      steps {
        sh 'conda env create --file configs/environment.yaml'
        sh 'python -m unittest -v testing/unit_test.py'
      }
      post {
        success {
          sh 'curl --request POST --header "PRIVATE-TOKEN: ${GITLAB_API_TOKEN}" "https://gitlab.rc.uab.edu/api/v4/projects/1585/statuses/${GIT_COMMIT}?state=success&name=jenkins_unit_tests"'
          sh 'curl --request POST --header "PRIVATE-TOKEN: ${GITLAB_API_TOKEN}" "https://gitlab.rc.uab.edu/api/v4/projects/1585/statuses/${GIT_COMMIT}?state=canceled&name=jenkins_unit_tests"'
      sh 'curl --request POST --header "PRIVATE-TOKEN: ${GITLAB_API_TOKEN}" "https://gitlab.rc.uab.edu/api/v4/projects/1585/statuses/${GIT_COMMIT}?state=success&name=jenkins"'
      sh 'curl --request POST --header "PRIVATE-TOKEN: ${GITLAB_API_TOKEN}" "https://gitlab.rc.uab.edu/api/v4/projects/1585/statuses/${GIT_COMMIT}?state=canceled&name=jenkins"'