diff options
| author | 陆秋文 <[email protected]> | 2019-12-26 18:07:06 +0800 |
|---|---|---|
| committer | 陆秋文 <[email protected]> | 2019-12-26 18:07:06 +0800 |
| commit | 60b1134c72497b4f116f0c3721cdbedadb2e5943 (patch) | |
| tree | 17bfa78554852f2e0289eb06338af758144298bb | |
| parent | 83213dde95de729d60d496718b0e9ca9fe277312 (diff) | |
| parent | e6c07a5114b0ebb095ca545f23fdceab21cc14b9 (diff) | |
Merge branch 'use-pulp-v3' into 'master'
增加自动仓库名称计算的脚本。
See merge request MESA_Platform/build-env!2
| -rw-r--r-- | rpm_upload_repo_autosetup.py | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/rpm_upload_repo_autosetup.py b/rpm_upload_repo_autosetup.py new file mode 100644 index 0000000..5923345 --- /dev/null +++ b/rpm_upload_repo_autosetup.py @@ -0,0 +1,77 @@ +#!/usr/bin/env python3 +import os +import re +import logging +import argparse + + +def exact_version_in_develop_branch(commit_ref_name): + branch_name_re = re.match(r'develop-(\d+)\.(\d+)', commit_ref_name) + if branch_name_re is None: + return None + + major_version = int(branch_name_re.group(1)) + minor_version = int(branch_name_re.group(2)) + + logging.debug('in develop branch: %s, major_version: %d, minor_version: %d' + % (commit_ref_name, major_version, minor_version)) + + return major_version, minor_version + + +def exact_version_in_release_branch(commit_ref_name): + branch_name_re = re.match(r'release-(\d+)\.(\d+)', commit_ref_name) + if branch_name_re is None: + return None + + major_version = int(branch_name_re.group(1)) + minor_version = int(branch_name_re.group(2)) + + logging.debug('in release branch: %s, major_version: %d, minor_version: %d' + % (commit_ref_name, major_version, minor_version)) + + return major_version, minor_version + + +def exact_version_in_tag(commit_ref_name): + tag_name_re = re.match(r'v(\d+)\.(\d+)\.(\d+)', commit_ref_name) + if tag_name_re is None: + return None + + major_version = int(tag_name_re.group(1)) + minor_version = int(tag_name_re.group(2)) + patch_version = int(tag_name_re.group(3)) + + logging.debug('in release tag: %s, major_version: %d, minor_version: %d, patch_version:%d' + % (commit_ref_name, major_version, minor_version, patch_version)) + + return major_version, minor_version, patch_version + + +def main(): + logging.basicConfig(level=logging.DEBUG) + + parser = argparse.ArgumentParser( + description='RPP upload tools - repository') + + parser.add_argument('project', help='project name') + parser.add_argument('commit', help='commit-ref') + args = parser.parse_args() + + project_name = args.project + commit_ref_name = args.commit + + logging.info('project_name: %s, commit_ref_name: %s' % + (project_name, commit_ref_name)) + + version = exact_version_in_develop_branch(commit_ref_name) + if version: + print('%s-%d.%d-testing' % (project_name, version[0], version[1])) + + version = exact_version_in_tag(commit_ref_name) + if version: + print('%s-%d.%d-stable' % (project_name, version[0], version[1])) + + +if __name__ == '__main__': + main() |
