From fd5d54c4ccb2620621ee1b74d913b9e47f5f4bc0 Mon Sep 17 00:00:00 2001 From: Joseph Manley Date: Fri, 22 Nov 2019 15:37:53 -0500 Subject: [PATCH] Update self-versioning --- Jenkinsfile | 48 ++++++++++++++++++++++++++++-------------------- 1 file changed, 28 insertions(+), 20 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 9bc79f3..094836a 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -15,30 +15,38 @@ pipeline { } 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 - stage('Version') { - agent { - docker { - image "${DOCKER_REGISTRY}/auto-semver:${SELF_SEMVER_TAG}" - } - } + stage('Self Version') { steps { - // runs the automatic semver tool which will version, & tag, - runAutoSemver() - - //Grabs current version 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') } }