mirror of
https://github.com/rpm-software-management/tito.git
synced 2025-02-23 20:22:46 +00:00
Enable tito release --test for git releasers
* Store the --test flag on the releaser and pass it to the builder * With --test in effect, have the builder update the spec file * When the builder does so it also updates the build_version to include git hash
This commit is contained in:
parent
60d3f577c0
commit
df27d8bb11
3 changed files with 19 additions and 13 deletions
|
@ -404,6 +404,7 @@ class Builder(ConfigObject):
|
|||
self.tgz_filename,
|
||||
)
|
||||
run_command(cmd)
|
||||
self.build_version += ".git." + str(self.commit_count) + "." + str(self.git_commit_id[:7])
|
||||
self.ran_setup_test_specfile = True
|
||||
|
||||
def _get_rpmbuild_dir_options(self):
|
||||
|
|
|
@ -622,7 +622,8 @@ class ReleaseModule(BaseCliModule):
|
|||
user_config=self.user_config,
|
||||
target=target,
|
||||
releaser_config=releaser_config,
|
||||
no_cleanup=self.options.no_cleanup)
|
||||
no_cleanup=self.options.no_cleanup,
|
||||
test=self.options.test)
|
||||
releaser.release(dry_run=self.options.dry_run,
|
||||
no_build=self.options.no_build,
|
||||
scratch=self.options.scratch)
|
||||
|
|
|
@ -50,9 +50,11 @@ class Releaser(object):
|
|||
|
||||
def __init__(self, name=None, version=None, tag=None, build_dir=None,
|
||||
pkg_config=None, global_config=None, user_config=None,
|
||||
target=None, releaser_config=None, no_cleanup=False):
|
||||
target=None, releaser_config=None, no_cleanup=False, test=False):
|
||||
|
||||
self.builder_args = self._parse_builder_args(releaser_config, target)
|
||||
if test:
|
||||
self.builder_args['test'] = True # builder must know to build from HEAD
|
||||
|
||||
# While we create a builder here, we don't actually call run on it
|
||||
# unless the releaser needs to:
|
||||
|
@ -80,7 +82,7 @@ class Releaser(object):
|
|||
self.target = target
|
||||
|
||||
self.dry_run = False
|
||||
|
||||
self.test = test # releaser must know to use builder designation rather than tag
|
||||
self.no_cleanup = no_cleanup
|
||||
|
||||
self._check_releaser_config()
|
||||
|
@ -261,10 +263,10 @@ class RsyncReleaser(Releaser):
|
|||
|
||||
def __init__(self, name=None, version=None, tag=None, build_dir=None,
|
||||
pkg_config=None, global_config=None, user_config=None,
|
||||
target=None, releaser_config=None, no_cleanup=False,
|
||||
target=None, releaser_config=None, no_cleanup=False, test=False,
|
||||
prefix="temp_dir="):
|
||||
Releaser.__init__(self, name, version, tag, build_dir, pkg_config,
|
||||
global_config, user_config, target, releaser_config, no_cleanup)
|
||||
global_config, user_config, target, releaser_config, no_cleanup, test)
|
||||
|
||||
self.build_dir = build_dir
|
||||
self.prefix = prefix
|
||||
|
@ -374,9 +376,9 @@ class YumRepoReleaser(RsyncReleaser):
|
|||
|
||||
def __init__(self, name=None, version=None, tag=None, build_dir=None,
|
||||
pkg_config=None, global_config=None, user_config=None,
|
||||
target=None, releaser_config=None, no_cleanup=False):
|
||||
target=None, releaser_config=None, no_cleanup=False, test=False):
|
||||
RsyncReleaser.__init__(self, name, version, tag, build_dir, pkg_config,
|
||||
global_config, user_config, target, releaser_config, no_cleanup,
|
||||
global_config, user_config, target, releaser_config, no_cleanup, test,
|
||||
prefix="yumrepo-")
|
||||
|
||||
def _read_rpm_header(self, ts, new_rpm_path):
|
||||
|
@ -442,9 +444,9 @@ class FedoraGitReleaser(Releaser):
|
|||
|
||||
def __init__(self, name=None, version=None, tag=None, build_dir=None,
|
||||
pkg_config=None, global_config=None, user_config=None,
|
||||
target=None, releaser_config=None, no_cleanup=False):
|
||||
target=None, releaser_config=None, no_cleanup=False, test=False):
|
||||
Releaser.__init__(self, name, version, tag, build_dir, pkg_config,
|
||||
global_config, user_config, target, releaser_config, no_cleanup)
|
||||
global_config, user_config, target, releaser_config, no_cleanup, test)
|
||||
|
||||
self.git_branches = \
|
||||
self.releaser_config.get(self.target, "branches").split(" ")
|
||||
|
@ -477,6 +479,8 @@ class FedoraGitReleaser(Releaser):
|
|||
run_command("%s switch-branch %s" % (self.cli_tool, self.git_branches[0]))
|
||||
|
||||
self.builder.tgz()
|
||||
if self.test:
|
||||
self.builder._setup_test_specfile()
|
||||
|
||||
self._git_sync_files(project_checkout)
|
||||
self._git_upload_sources(project_checkout)
|
||||
|
@ -708,9 +712,9 @@ class CvsReleaser(Releaser):
|
|||
|
||||
def __init__(self, name=None, version=None, tag=None, build_dir=None,
|
||||
pkg_config=None, global_config=None, user_config=None,
|
||||
target=None, releaser_config=None, no_cleanup=False):
|
||||
target=None, releaser_config=None, no_cleanup=False, test=False):
|
||||
Releaser.__init__(self, name, version, tag, build_dir, pkg_config,
|
||||
global_config, user_config, target, releaser_config, no_cleanup)
|
||||
global_config, user_config, target, releaser_config, no_cleanup, test)
|
||||
|
||||
self.package_workdir = os.path.join(self.working_dir,
|
||||
self.project_name)
|
||||
|
@ -954,9 +958,9 @@ class KojiReleaser(Releaser):
|
|||
|
||||
def __init__(self, name=None, version=None, tag=None, build_dir=None,
|
||||
pkg_config=None, global_config=None, user_config=None,
|
||||
target=None, releaser_config=None, no_cleanup=False):
|
||||
target=None, releaser_config=None, no_cleanup=False, test=False):
|
||||
Releaser.__init__(self, name, version, tag, build_dir, pkg_config,
|
||||
global_config, user_config, target, releaser_config, no_cleanup)
|
||||
global_config, user_config, target, releaser_config, no_cleanup, test)
|
||||
|
||||
self.only_tags = []
|
||||
if 'ONLY_TAGS' in os.environ:
|
||||
|
|
Loading…
Add table
Reference in a new issue