18 Commits
v1.9 ... v1.11

Author SHA1 Message Date
f82156d2f1 fix idnent 2020-08-26 18:52:47 +02:00
7f7c75e983 fix indent 2020-08-26 18:51:21 +02:00
ce41933381 ignore long lines 2020-08-26 18:49:04 +02:00
6f105a6a12 fix 2020-08-26 18:48:00 +02:00
7abbecd28c fix 2020-08-26 18:41:49 +02:00
0331672f92 fix 2020-08-26 18:40:08 +02:00
051cbfecfb fix 2020-08-26 18:33:57 +02:00
495ff5c51e now really with semver checker 2020-08-26 18:31:21 +02:00
0df2400892 version 2020-08-26 18:27:30 +02:00
47621f90c0 add semver validator 2020-08-26 18:26:05 +02:00
0897d76fdc fix info file 2020-06-08 15:54:27 +00:00
34a7ad2f10 adjust ci script 2020-06-08 15:51:53 +00:00
b564ad15aa second fix 2020-03-17 15:17:34 +00:00
7969a8259e edit release info 2020-03-17 15:06:42 +00:00
8acddeb2cf fix forgotten variable 2020-03-17 15:06:10 +00:00
adae5638d3 edit release info 2020-03-17 14:49:38 +00:00
b66ca744ae Merge branch 'master' into release 2020-03-17 14:48:00 +00:00
f72c8b115f re-add insecure option 2020-03-17 14:47:07 +00:00
5 changed files with 104 additions and 14 deletions

View File

@ -4,18 +4,18 @@ stages:
build:
stage: check
image: registry.gitlab.com/wolutator/base-build-env:latest
image: registry.hottis.de/dockerized/base-build-env:latest
tags:
- hottis
- linux
- docker
script:
- for I in *.py; do python -m py_compile $I; done
- for I in *.py; do python -m pycodestyle --max-line-length=120 $I; done
- for I in *.py; do python -m pycodestyle --ignore=E501 $I; done
release:
stage: release
image: registry.gitlab.com/wolutator/base-build-env
image: registry.hottis.de/dockerized/base-build-env:latest
tags:
- hottis
- linux
@ -23,7 +23,7 @@ release:
only:
- release
script:
- zip GitlabReleaseTool.zip gitlabreleaseuploader.py deleterelease.py
- python gitlabreleaseuploader.py -p $PRIVATE_TOKEN -i $CI_PROJECT_ID -u $CI_PROJECT_URL
- zip GitlabReleaseTool.zip gitlabreleaseuploader.py deleterelease.py checksemver.py
- python gitlabreleaseuploader.py -p $PRIVATE_TOKEN -i $CI_PROJECT_ID -u $CI_PROJECT_URL -I $CI_SERVER_URL
-f GitlabReleaseTool.zip -F info.json -T $CI_COMMIT_REF_NAME

80
checksemver.py Normal file
View File

@ -0,0 +1,80 @@
#!/usr/bin/python
import re
import argparse
import sys
parser = argparse.ArgumentParser(description='Semantic Version Validator')
parser.add_argument('--versionToValidate', '-V',
help='The version to validate against the semantic versioning rules',
required=True)
parser.add_argument('--messageToValidate', '-M',
help='A message to validate, means: it must not be empty',
default='',
required=False)
parser.add_argument('--validateMessage', '-m',
help='Consider -M',
required=False,
action='store_true',
default=False)
parser.add_argument('--printExports', '-e',
help='Print exports',
action='store_true',
default=False,
required=False)
parser.add_argument('--exportFormat', '-f',
help='Print exports in >bash< or >powershell< format, to be used in '
'backticks or with Invoke-Expression',
default='bash',
required=False)
parser.add_argument('--verbose', '-v',
help='Verbose output, overrides -q',
required=False,
action='store_true',
default=False)
args = parser.parse_args()
verbose = args.verbose
versionToValidate = args.versionToValidate
messageToValidate = args.messageToValidate
validateMessage = args.validateMessage
printExports = args.printExports
exportFormat = args.exportFormat
r = re.compile(r'^(?P<major>0|[1-9]\d*)\.(?P<minor>0|[1-9]\d*)\.(?P<patch>0|[1-9]\d*)(?:-(?P<prerelease>(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+(?P<buildmetadata>[0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$')
if verbose:
print("Version to validate: {}".format(versionToValidate))
m = r.match(versionToValidate)
if m:
if verbose:
for i in r.groupindex:
print("Found: {}: {}".format(i, m.group(i)))
if validateMessage:
if verbose:
print("Checking message {}".format(messageToValidate))
if messageToValidate == '':
if verbose:
print("Message shall be validate and is invalid")
sys.exit(1)
else:
if printExports:
if exportFormat == "bash":
print("export MESSAGE={}".format(messageToValidate))
elif exportFormat == "powershell":
print("set MESSAGE {}".format(messageToValidate))
if printExports:
for i in r.groupindex:
if exportFormat == "bash":
print("export {}={}".format(i.upper(), '' if m.group(i) is None else m.group(i)))
elif exportFormat == "powershell":
print("set {} {}".format(i.upper(), '""' if m.group(i) is None else m.group(i)))
sys.exit(0)
else:
if verbose:
print("Version is invalid")
sys.exit(1)

View File

@ -26,6 +26,12 @@ parser.add_argument('--verbose', '-v',
parser.add_argument('--caBundle', '-B',
help='File with the CA certificates to trust', required=False,
default='/etc/ssl/certs/ca-certificates.crt')
parser.add_argument('--insecure',
help='insecure ssl connect',
required=False,
action='store_true',
default=False)
args = parser.parse_args()
@ -35,6 +41,7 @@ releaseTag = args.releaseTag
instanceUrl = args.instanceUrl
verbose = args.verbose
caBundle = args.caBundle
insecure = args.insecure
# --- delete release
deleteReleaseUrl = "%s/api/v4/projects/%s/releases/%s" % (instanceUrl, projectId, releaseTag)
@ -43,6 +50,9 @@ headers = {"PRIVATE-TOKEN": privateToken, "Content-Type": "application/json"}
if verbose:
print("URL: %s" % deleteReleaseUrl)
if insecure:
caBundle = (False)
deleteReleaseResult = requests.delete(deleteReleaseUrl, headers=headers, verify=caBundle)
if deleteReleaseResult.status_code != 200:

View File

@ -154,12 +154,12 @@ createReleaseUrl = "%s/api/v4/projects/%s/releases" % (instanceUrl, projectId)
headers = {"PRIVATE-TOKEN": privateToken, "Content-Type": "application/json"}
payloadCreateRelease = {
"name": releaseName,
"tag_name": releaseTag,
"description": releaseDescription,
"assets": {
"links": assets
}
"name": releaseName,
"tag_name": releaseTag,
"description": releaseDescription,
"assets": {
"links": assets
}
}
createReleaseResult = requests.post(createReleaseUrl, headers=headers,

View File

@ -1,7 +1,7 @@
{
"releaseTag": "v1.9",
"releaseTag": "v1.11",
"createReleaseTag": "true",
"releaseName": "use with statement",
"description": "perform file upload using with statement"
"releaseName": "semantic version validator added",
"description": "semantic version validator added"
}