From 3f765912c0a63f7c81a58f32c44507300608b973 Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Sun, 5 Mar 2017 13:54:06 +0200 Subject: Add scenartio for making a release --- 000.yarn | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/000.yarn b/000.yarn index 8c2ccb9..feaa34f 100644 --- a/000.yarn +++ b/000.yarn @@ -225,6 +225,21 @@ groups, and respositories. THEN steven cannot push qvarn FINALLY admin removes things that were created + SCENARIO Ian can make a Qvarn release + WHEN admin creates user ian + AND admin creates group qvarndevs + AND admin adds ian to qvarndevs + AND admin creates repository qvarn + AND admin sets qvarn config writers to qvarndevs + THEN ian can clone qvarn + WHEN ian creates qvarn branch bugfix + AND ian changes qvarn branch bugfix + THEN ian can push qvarn + WHEN ian merges qvarn branch bugfix to master + AND ian tags qvarn master branch with qvarn-1.0 + THEN ian can push qvarn with tags + FINALLY admin removes things that were created + SCENARIO Steven can't clone ops/secrets WHEN admin creates user steven AND admin creates repository ops/secrets @@ -331,6 +346,13 @@ groups, and respositories. dirname = helper.local_checkout_dirname(user, repo) helper.git_as_checked(user, ['push', '--all', 'origin'], cwd=dirname) + IMPLEMENTS THEN (\S+) can push (\S+) with tags + user = helper.get_next_match() + repo = helper.get_next_match() + url = helper.repo_ssh_url(repo) + dirname = helper.local_checkout_dirname(user, repo) + helper.git_as_checked(user, ['push', '--tags', 'origin'], cwd=dirname) + IMPLEMENTS THEN (\S+) cannot push (\S+) user = helper.get_next_match() repo = helper.get_next_match() @@ -349,6 +371,14 @@ groups, and respositories. cliapp.runcmd(['git', 'checkout', branch_to], cwd=dirname) cliapp.runcmd(['git', 'merge', branch_from], cwd=dirname) + IMPLEMENTS WHEN (\S+) tags (\S+) (\S+) branch with (\S+) + user = helper.get_next_match() + repo = helper.get_next_match() + branch = helper.get_next_match() + tag = helper.get_next_match() + dirname = helper.local_checkout_dirname(user, repo) + cliapp.runcmd(['git', 'tag', '-mrelease!', tag], cwd=dirname) + IMPLEMENTS FINALLY admin removes things that were created def iter(var, prefix): items = helper.get_variable(var, []) -- cgit v1.2.1