Update self-versioning
This commit is contained in:
		
							
								
								
									
										48
									
								
								Jenkinsfile
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										48
									
								
								Jenkinsfile
									
									
									
									
										vendored
									
									
								
							@ -15,30 +15,38 @@ pipeline {
 | 
				
			|||||||
    
 | 
					    
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  stages {
 | 
					  stages {
 | 
				
			||||||
    //Pulls docker image for self-versioning
 | 
					 | 
				
			||||||
    stage("Pull Versioning Image")
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        steps
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
          withEcr {
 | 
					 | 
				
			||||||
            sh "docker pull ${DOCKER_REGISTRY}/auto-semver:${SELF_SEMVER_TAG}"
 | 
					 | 
				
			||||||
          }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    //Runs versioning in docker container
 | 
					    //Runs versioning in docker container
 | 
				
			||||||
    stage('Version') {
 | 
					    stage('Self Version') {
 | 
				
			||||||
        agent {
 | 
					 | 
				
			||||||
            docker {
 | 
					 | 
				
			||||||
                image "${DOCKER_REGISTRY}/auto-semver:${SELF_SEMVER_TAG}"
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      steps {
 | 
					      steps {
 | 
				
			||||||
        // runs the automatic semver tool which will version, & tag,
 | 
					 | 
				
			||||||
        runAutoSemver()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        //Grabs current version
 | 
					 | 
				
			||||||
        script
 | 
					        script
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          def docker_image = docker.image("${DOCKER_REGISTRY}/auto-semver:${SELF_SEMVER_TAG}")
 | 
				
			||||||
 | 
					          docker_image.inside{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            def RETURN_STATUS
 | 
				
			||||||
 | 
					            def regex = '^\\s*current_version\\s*=\\s*\\K[^\\s]+'
 | 
				
			||||||
 | 
					            env.SEMVER_OLD_VERSION = sh(script: "grep -Po '${regex}' .bumpversion.cfg", returnStdout: true).trim()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            RETURN_STATUS = sh(script: "semver -n", returnStatus: true)
 | 
				
			||||||
 | 
					            echo "Semver Return Status: ${RETURN_STATUS}"
 | 
				
			||||||
 | 
					            env.SEMVER_STATUS = RETURN_STATUS
 | 
				
			||||||
 | 
					            switch (RETURN_STATUS) {
 | 
				
			||||||
 | 
					              case "0":
 | 
				
			||||||
 | 
					                echo 'Versioned will push after build/test.'
 | 
				
			||||||
 | 
					                break
 | 
				
			||||||
 | 
					              case "128":
 | 
				
			||||||
 | 
					                echo 'Unknown Semver Failure'
 | 
				
			||||||
 | 
					                sh 'exit 1'
 | 
				
			||||||
 | 
					                break
 | 
				
			||||||
 | 
					              default:
 | 
				
			||||||
 | 
					                echo 'No versioning required.'
 | 
				
			||||||
 | 
					                break
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            env.SEMVER_NEW_VERSION = sh(script: "grep -Po '${regex}' .bumpversion.cfg", returnStdout: true).trim()
 | 
				
			||||||
 | 
					            env.SEMVER_RESOLVED_VERSION = getVersion('-d')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            env.VERSION = getVersion('-d')
 | 
					            env.VERSION = getVersion('-d')
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user