Merge pull request #8 from RightBrain-Networks/feature/noCommit
Commitless Semver
This commit is contained in:
commit
e39ba39836
26
Jenkinsfile
vendored
26
Jenkinsfile
vendored
@ -15,32 +15,10 @@ 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
|
||||
{
|
||||
env.VERSION = getVersion('-d')
|
||||
}
|
||||
runAutoSemver("${DOCKER_REGISTRY}/auto-semver:${SELF_SEMVER_TAG}")
|
||||
}
|
||||
post{
|
||||
// Update Git with status of version stage.
|
||||
|
@ -1,6 +1,8 @@
|
||||
import argparse
|
||||
import re
|
||||
import subprocess
|
||||
from semver.get_version import get_tag_version
|
||||
|
||||
try:
|
||||
from configparser import ConfigParser
|
||||
except ImportError:
|
||||
@ -97,6 +99,19 @@ class SemVer(object):
|
||||
|
||||
# use bumpversion to increment the appropriate version type
|
||||
def version_repo(self):
|
||||
config_file = ""
|
||||
with open(".bumpversion.cfg", "r") as file:
|
||||
config_file = file.read()
|
||||
# Update .bumpconfig
|
||||
pattern = re.compile("current_version = [0-9.]*")
|
||||
current_config = re.search(pattern, config_file)
|
||||
if current_config:
|
||||
config_file.replace(current_config, "current_version = " + get_tag_version())
|
||||
else:
|
||||
config_file.replace("[bumpversion]","[bumpversion]\ncurrent_version = " + get_tag_version())
|
||||
with open(".bumpversion.cfg", "w") as file:
|
||||
file.write(config_file)
|
||||
|
||||
# version repo
|
||||
p = subprocess.Popen(['bumpversion', self.version_type],
|
||||
cwd='.')
|
||||
|
@ -11,11 +11,22 @@ except ImportError:
|
||||
import os
|
||||
DEVNULL = open(os.devnull, 'wb')
|
||||
|
||||
|
||||
def get_version(dot=False):
|
||||
def get_tag_version():
|
||||
config = ConfigParser()
|
||||
config.read('./.bumpversion.cfg')
|
||||
version = config.get('bumpversion', 'current_version')
|
||||
tag_expression = config.get('bumpversion','tag_name').replace('{new_version}','[0-9]*.[0-9]*.[0-9]*')
|
||||
|
||||
version = "0.0.0"
|
||||
|
||||
tagged_versions = subprocess.Popen(['git','tag','-l',tag_expression],
|
||||
stdout=subprocess.PIPE, stderr=DEVNULL, cwd=".").stdout.read().decode('utf-8').rstrip().split('\n')
|
||||
if len(tagged_versions) > 0 and tagged_versions[-1] != "":
|
||||
version = tagged_versions[-1]
|
||||
return version
|
||||
|
||||
def get_version(dot=False):
|
||||
version = get_tag_version()
|
||||
|
||||
# Get the commit hash of the version
|
||||
v_hash = subprocess.Popen(['git', 'rev-list', '-n', '1', version], stdout=subprocess.PIPE,
|
||||
stderr=DEVNULL, cwd='.').stdout.read().decode('utf-8').rstrip()
|
||||
|
Loading…
Reference in New Issue
Block a user