15 versionH = open(
'version.h.in',
'r').read()
19 newInsightsVersion = f
'{newClangStable}.1'
20 oldInsightsVersion = re.search(
r'INSIGHTS_VERSION\s+"(.*?)"', versionH, re.DOTALL | re.MULTILINE).group(1)
23 print(
'Preparing a new release:')
24 print(
' Current Clang stable : %s' %(oldClangStable))
25 print(
' New Clang stable : %s' %(newClangStable))
26 print(
' Current Insights version : %s' %(oldInsightsVersion))
27 print(
' New Insights version : %s' %(newInsightsVersion))
29 print(
' - Updating .github/workflows/ci.yml')
30 travis = open(
'.github/workflows/ci.yml',
'r').read()
32 regEx = re.compile(
'[clang|llvm]-([0-9]+)')
34 travis = re.sub(
r'(clang|llvm|clang\+\+|llvm-config|llvm-toolchain-bionic|clang-format|clang-tidy|llvm-toolchain-trusty)(-%s)' %(oldClangStable),
'\\1-%s' %(newClangStable) , travis)
35 travis = re.sub(
'(clang|Clang|llvm|LLVM) (%s)' %(oldClangStable),
'\\1 %s' %(newClangStable) , travis)
36 travis = re.sub(
r"(LLVM_VERSION=)('%s)" %(oldClangStable),
r"\1'%s" %(newClangStable) , travis)
37 travis = re.sub(
r"(LLVM_VERSION:)\s*(%s.0.0)" %(oldClangStable),
r"\1 %s.0.0" %(newClangStable) , travis)
38 travis = re.sub(
r'(llvm_version:\s*)("%s)(.0.0",)' %(oldClangStable),
'\\1"%s.0.0",' %(newClangStable), travis)
39 travis = re.sub(
r"clang(%s)0" %(oldClangStable),
r"clang%s0" %(newClangStable) , travis)
40 travis = re.sub(
r"(llvm-toolchain-xenial)-(%s)" %(oldClangStable),
r"\1-%s" %(newClangStable) , travis)
41 travis = re.sub(
r"(./llvm.sh) (%s)" %(oldClangStable),
r"\1 %s" %(newClangStable) , travis)
43 open(
'.github/workflows/ci.yml',
'w').write(travis)
46 print(
' - Updating CMakeLists.txt')
47 cmake = open(
'CMakeLists.txt',
'r').read()
48 cmake = re.sub(
r'(set\(INSIGHTS_MIN_LLVM_MAJOR_VERSION)( %s)\)' %(oldClangStable),
'\\1 %s)' %(newClangStable) , cmake)
49 open(
'CMakeLists.txt',
'w').write(cmake)
52 print(f
' - Updating version.h {oldInsightsVersion} -> {newInsightsVersion}')
53 version = open(
'version.h.in',
'r').read()
54 version = re.sub(
'(INSIGHTS_VERSION )"(.*)"',
'\\1"%s"' %(newInsightsVersion) , version)
55 open(
'version.h.in',
'w').write(version)
57 cppInsightsDockerBaseFile =
'../cppinsights-docker-base/Dockerfile'
59 print(f
' - Updating cppinsights-docker-base ({cppInsightsDockerBaseFile})')
61 dockerFile = open(cppInsightsDockerBaseFile,
'r').read()
62 dockerFile = re.sub(
r'(ENV\s+CLANG_VERSION=)([0-9]+)',
r'\g<1>%s' %(newClangStable), dockerFile)
63 open(cppInsightsDockerBaseFile,
'w').write(dockerFile)
66 gitTag = f
'v_{oldInsightsVersion}'
67 print(f
' - Tagging {gitTag}')
69 cmd = [
'git',
'tag', gitTag,
'main']
70 p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
71 stdout, stderr = p.communicate()
74 print(
'ERR: git tag failed!')
79 print(f
' git push origin {gitTag}')