Skip to content

Commit

Permalink
Add commiting of new version
Browse files Browse the repository at this point in the history
  • Loading branch information
relekang committed Jul 27, 2015
1 parent 06c5ac4 commit 6865d4b
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 2 deletions.
4 changes: 3 additions & 1 deletion semantic_release/cli.py
@@ -1,6 +1,7 @@
import click

from semantic_release.helpers import get_current_version, get_new_version, set_new_version
from semantic_release.helpers import (commit_new_version, get_current_version, get_new_version,
set_new_version)
from semantic_release.history import evaluate_version_bump


Expand All @@ -20,6 +21,7 @@ def version(**kwargs):
level_bump = evaluate_version_bump(current_version, kwargs['force_level'])
new_version = get_new_version(current_version, level_bump)
set_new_version(new_version)
commit_new_version(new_version)
click.echo('Bumping with a {0} version to {1}.'.format(level_bump, new_version))


Expand Down
6 changes: 6 additions & 0 deletions semantic_release/helpers.py
Expand Up @@ -52,3 +52,9 @@ def get_commit_log():
repo = Repository('.git')
for commit in repo.walk(repo.head.target):
yield commit.message


def commit_new_version(version):
add = run('git add {}'.format(load_config().get('version_variable').split(':')[0]), hide=True)
if add.ok:
run('git commit -m "{}"'.format(version), hide=True)
5 changes: 4 additions & 1 deletion tests/test_cli.py
Expand Up @@ -16,18 +16,21 @@ def test_main_should_call_correct_function(self, mock_version):
self.assertEqual(result.exit_code, 0)
mock_version.assert_called_once()

@mock.patch('semantic_release.cli.commit_new_version')
@mock.patch('semantic_release.cli.set_new_version')
@mock.patch('semantic_release.cli.get_new_version', return_value='2.0.0')
@mock.patch('semantic_release.cli.evaluate_version_bump', return_value='major')
@mock.patch('semantic_release.cli.get_current_version', return_value='1.2.3')
def test_version_should_call_correct_functions(self, mock_current_version, mock_evaluate_bump,
mock_new_version, mock_set_new_version):
mock_new_version, mock_set_new_version,
mock_commit_new_version):
result = self.runner.invoke(main, ['version'])
self.assertEqual(result.exit_code, 0)
mock_current_version.assert_called_once_with()
mock_evaluate_bump.assert_called_once_with('1.2.3', None)
mock_new_version.assert_called_once_with('1.2.3', 'major')
mock_set_new_version.assert_called_once_with('2.0.0')
mock_commit_new_version.assert_called_once_with('2.0.0')

@mock.patch('semantic_release.cli.version')
def test_force_major(self, mock_version):
Expand Down

0 comments on commit 6865d4b

Please sign in to comment.