Reviewboard - dependant branches

2014-12-17 Thread John Weldon
Can someone remind me of the process for proposing branches that depend on
another branch that is still in review?

I know it's been discussed here and on irc before, but I don't recall the
specifics.

I think that the steps are:

 1. Just propose the branch in github, which will trigger the automatic
reviewboard integration
 2. run some rbt command line invocation to update reviewboard with the
upstream branch name

I just don't recall the exact invocation for #2 and I don't want to
experiment and muck something up :)

Cheers,

--
John Weldon
-- 
Juju-dev mailing list
Juju-dev@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/juju-dev


Re: Reviewboard - dependant branches

2014-12-17 Thread Jesse Meek


On 18/12/14 03:01, John Weldon wrote:
Can someone remind me of the process for proposing branches that 
depend on another branch that is still in review?


I know it's been discussed here and on irc before, but I don't recall 
the specifics.


I think that the steps are:

 1. Just propose the branch in github, which will trigger the 
automatic reviewboard integration
 2. run some rbt command line invocation to update reviewboard with 
the upstream branch name


I just don't recall the exact invocation for #2 and I don't want to 
experiment and muck something up :)


rbt post -u --parent name-of-parent-branch



Cheers,

--
John Weldon




-- 
Juju-dev mailing list
Juju-dev@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/juju-dev


Re: Blocking and unblocking merges

2014-12-17 Thread John George
On Wed, Dec 17, 2014 at 4:26 PM, Menno Smits menno.sm...@canonical.com
wrote:

 There seems to be some confusion as to how merges gets blocked and
 unblocked. Specifically:

 1. How do merges get blocked?

Juju-core bugs with the following criteria will block merges:
a. status: 'Triaged', 'In Progress' or 'Fix Committed'
b. importance: 'Critical'
c. tags: 'regression' and 'ci'

2. Who/what decides to unblock merges?
The Jenkins github-merge-juju job (
http://juju-ci.vapour.ws:8080/job/github-merge-juju) is configured to call
the check_blockers.py script, maintained by the Juju-QA team.
check_blockers.py queries Launchpad for bugs with the above criteria.

master example:
https://api.launchpad.net/devel/juju-core?ws.op=searchTasksstatus%3Alist=Triagedstatus%3Alist=In+Progressstatus%3Alist=Fix+Committedimportance%3Alist=Criticaltags%3Alist=regressiontags%3Alist=citags_combinator=All

1.20 example:
https://api.launchpad.net/devel/juju-core/1.20?ws.op=searchTasksstatus%3Alist=Triagedstatus%3Alist=In+Progressstatus%3Alist=Fix+Committedimportance%3Alist=Criticaltags%3Alist=regressiontags%3Alist=citags_combinator=All
Most often the Juju QA team will open these bugs and set the tags, when a
test failure demonstrates a regression.

If the pull request body includes fixes-BUG NUMBER, where BUG NUMBER is
in the blocking list, the merge will go through.



 3. How do merges get unblocked?

Merges are unblocked when no bugs are returned with the above criteria. The
bugs should be updated only after the committed fix has successfully passed
the CI tests which discovered the regression. This will most often mean
setting the status to 'Fix Released' when the solution involves code
changes or removing the regression and/or CI tag, if the issue is
discovered to be a test or CI issue.


 4, If the unblock process involves manual steps, whose responsibility is
 it to perform those steps?

The person or team that marked the bug as a regression is responsible for
updating the bug, once they are satisfied with the fix. Most often this
will be the Juju-QA team but if others discover a regression they too
should have the power to block merges.


 Based on experience and observation, I think I know how at least some of
 this works but could we please have some authoritative answers?

 Thanks,
 Menno



 --
 Juju-dev mailing list
 Juju-dev@lists.ubuntu.com
 Modify settings or unsubscribe at:
 https://lists.ubuntu.com/mailman/listinfo/juju-dev


-- 
Juju-dev mailing list
Juju-dev@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/juju-dev


Re: Blocking and unblocking merges

2014-12-17 Thread Dimiter Naydenov
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 18.12.2014 04:20, John George wrote:
 On Wed, Dec 17, 2014 at 4:26 PM, Menno Smits
 menno.sm...@canonical.com mailto:menno.sm...@canonical.com
 wrote:
 
 There seems to be some confusion as to how merges gets blocked and 
 unblocked. Specifically:
 
 1. How do merges get blocked?
 
 Juju-core bugs with the following criteria will block merges: a.
 status: 'Triaged', 'In Progress' or 'Fix Committed' b. importance:
 'Critical' c. tags: 'regression' and 'ci'
 
 2. Who/what decides to unblock merges? The Jenkins
 github-merge-juju job 
 (http://juju-ci.vapour.ws:8080/job/github-merge-juju) is configured
 to call the check_blockers.py script, maintained by the Juju-QA
 team. check_blockers.py queries Launchpad for bugs with the above
 criteria.
 
 master example: 
 https://api.launchpad.net/devel/juju-core?ws.op=searchTasksstatus%3Alist=Triagedstatus%3Alist=In+Progressstatus%3Alist=Fix+Committedimportance%3Alist=Criticaltags%3Alist=regressiontags%3Alist=citags_combinator=All

  1.20 example: 
 https://api.launchpad.net/devel/juju-core/1.20?ws.op=searchTasksstatus%3Alist=Triagedstatus%3Alist=In+Progressstatus%3Alist=Fix+Committedimportance%3Alist=Criticaltags%3Alist=regressiontags%3Alist=citags_combinator=All

  Most often the Juju QA team will open these bugs and set the tags,
 when a test failure demonstrates a regression.
 
 If the pull request body includes fixes-BUG NUMBER, where BUG
 NUMBER is in the blocking list, the merge will go through.
 
 
 
 3. How do merges get unblocked?
 
 Merges are unblocked when no bugs are returned with the above
 criteria. The bugs should be updated only after the committed fix
 has successfully passed the CI tests which discovered the
 regression. This will most often mean setting the status to 'Fix
 Released' when the solution involves code changes or removing the
 regression and/or CI tag, if the issue is discovered to be a test
 or CI issue.
 
 
 4, If the unblock process involves manual steps, whose 
 responsibility is it to perform those steps?
 
 The person or team that marked the bug as a regression is
 responsible for updating the bug, once they are satisfied with the
 fix. Most often this will be the Juju-QA team but if others
 discover a regression they too should have the power to block
 merges.

The problem often is nobody from QA is around to ask for help in
certain times during the day. So there should be at least a person in
each team knowing how (and having permissions as well, if needed) to
re-run jobs that are stuck, mark the bug as Fix Released once the CI
job passes after the fix lands. Another REALLY NEEDED feature is to
re-queue PRs set for merging but bounced due to a CI block. This
wastes days sometimes, or at the very least hours.

 
 
 Based on experience and observation, I think I know how at least 
 some of this works but could we please have some authoritative
 answers?
 
 Thanks, Menno
 
 
 
 -- Juju-dev mailing list Juju-dev@lists.ubuntu.com
 mailto:Juju-dev@lists.ubuntu.com Modify settings or unsubscribe
 at: https://lists.ubuntu.com/mailman/listinfo/juju-dev
 
 
 


- -- 
Dimiter Naydenov dimiter.nayde...@canonical.com
juju-core team
-BEGIN PGP SIGNATURE-
Version: GnuPG v1

iQEcBAEBAgAGBQJUkkBzAAoJENzxV2TbLzHwflIH+wQM8s8oV2i7b1PzsDzh9Zyu
DhfkyIhxFQxTJGsV8RamcTDkjWeDhRZKB49UPzMdqNJr0XG/KvVy1SyqICxJ5qoz
uWnnrdumzUhF0k/hjsUEnOpNDBOnubUIoGHBVyyx6UEMRgW+G0pFTIhUQGqEPhhU
7YMqn/r3GpiSnkmnknB/U4yk9TEYViDBRuPzSmhJiSwBGqkpOW+ISkWstUgbqYO+
o9KzxREWcvEDQ0+v0RLpaF2HsUWwktn7HL2BuoemhU4hoS5/ohD0VR5AemXwUyky
ISEiqu4atjPcCxJts5UpPhhznBSVHFlOm4ROkH1ku+x671WZEZZXoUt4CjWbxvo=
=l5mJ
-END PGP SIGNATURE-

-- 
Juju-dev mailing list
Juju-dev@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/juju-dev


Re: Blocking and unblocking merges

2014-12-17 Thread John Meinel
...


  3. How do merges get unblocked?
 
  Merges are unblocked when no bugs are returned with the above
  criteria. The bugs should be updated only after the committed fix
  has successfully passed the CI tests which discovered the
  regression. This will most often mean setting the status to 'Fix
  Released' when the solution involves code changes or removing the
  regression and/or CI tag, if the issue is discovered to be a test
  or CI issue.


Note that being just a test issue doesn't entirely excuse it, because it
means that the test suite will just fail again, and we won't have
visibility into real problems. (We get into a mode where we expect the test
suite to fail, and stop trusting it.)


 
 
  4, If the unblock process involves manual steps, whose
  responsibility is it to perform those steps?
 
  The person or team that marked the bug as a regression is
  responsible for updating the bug, once they are satisfied with the
  fix. Most often this will be the Juju-QA team but if others
  discover a regression they too should have the power to block
  merges.

 The problem often is nobody from QA is around to ask for help in
 certain times during the day. So there should be at least a person in
 each team knowing how (and having permissions as well, if needed) to
 re-run jobs that are stuck, mark the bug as Fix Released once the CI
 job passes after the fix lands. Another REALLY NEEDED feature is to
 re-queue PRs set for merging but bounced due to a CI block. This
 wastes days sometimes, or at the very least hours.


One thing Tim mentioned was whether we could have the bot comment I'm not
merging this now because of a CI failure, but leave the request in the
Queue, so it is automatically retried when the branch is unblocked. I'm not
sure if there is an efficiency/event problem (we got an event that the
$MERGE$ message was set, we wouldn't get another one unless someone pokes
the branch.) But it does seem possible.

John
=:-


 
  Based on experience and observation, I think I know how at least
  some of this works but could we please have some authoritative
  answers?
 
  Thanks, Menno
 
 
 
  -- Juju-dev mailing list Juju-dev@lists.ubuntu.com
  mailto:Juju-dev@lists.ubuntu.com Modify settings or unsubscribe
  at: https://lists.ubuntu.com/mailman/listinfo/juju-dev
 
 
 


 - --
 Dimiter Naydenov dimiter.nayde...@canonical.com
 juju-core team
 -BEGIN PGP SIGNATURE-
 Version: GnuPG v1

 iQEcBAEBAgAGBQJUkkBzAAoJENzxV2TbLzHwflIH+wQM8s8oV2i7b1PzsDzh9Zyu
 DhfkyIhxFQxTJGsV8RamcTDkjWeDhRZKB49UPzMdqNJr0XG/KvVy1SyqICxJ5qoz
 uWnnrdumzUhF0k/hjsUEnOpNDBOnubUIoGHBVyyx6UEMRgW+G0pFTIhUQGqEPhhU
 7YMqn/r3GpiSnkmnknB/U4yk9TEYViDBRuPzSmhJiSwBGqkpOW+ISkWstUgbqYO+
 o9KzxREWcvEDQ0+v0RLpaF2HsUWwktn7HL2BuoemhU4hoS5/ohD0VR5AemXwUyky
 ISEiqu4atjPcCxJts5UpPhhznBSVHFlOm4ROkH1ku+x671WZEZZXoUt4CjWbxvo=
 =l5mJ
 -END PGP SIGNATURE-

 --
 Juju-dev mailing list
 Juju-dev@lists.ubuntu.com
 Modify settings or unsubscribe at:
 https://lists.ubuntu.com/mailman/listinfo/juju-dev

-- 
Juju-dev mailing list
Juju-dev@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/juju-dev