[OpenStack-Infra] Zuul v3: proposed new Depends-On syntax

James E. Blair corvus at inaugust.com
Thu May 25 15:09:17 UTC 2017


Sean Dague <sean at dague.net> writes:

> On 05/24/2017 07:04 PM, James E. Blair wrote:
> <snip>
>> The natural way to identify a GitHub pull request is with its URL.
>> 
>> This can be used to identify Gerrit changes as well, and will likely be
>> well supported by other systems.  Therefore, I propose we support URLs
>> as the content of the Depends-On footers for all systems.  E.g.:
>> 
>>   Depends-On: https://review.openstack.org/12345
>>   Depends-On: https://github.com/ansible/ansible/pull/12345
>> 
>> Similarly to the Gerrit change IDs, these identifiers are easily
>> navigable within Gerrit (and Gertty), so that reviewers can traverse the
>> dependency chain easily.
>
> Sounds sensible to me. The only thing I ask is that we get a good clock
> countdown on when it will be removed. Upgrade testing is one of the
> places where the multi branch magic was really useful, so it will take a
> little while to get good at it.

Yes!

> For gerrit reviews it should also accept -
> https://review.openstack.org/#/c/467243/ (as that's what is in people's
> browser url bar).

Yeah, I was thinking of copying Gertty's URL parsing here which deals
with all the variants.

This reminds me of something I forgot to mention: we should *not* depend
on specific patchsets even if the URL specifies it.  Sometimes you end
up with:

  https://review.openstack.org/#/c/467634/1

as the URL, with the patchset at the end.  I think that still confuses a
lot of people and they don't notice.  And generally, if someone is
specifying a dependency, they mean the change in general, and don't want
to have to go update the depending change's commit message if they fix a
typo.

So I think that we should start out by simply silently ignoring any
patchset elements in the URL.  We could consider having Zuul leave a
note indicating that the patchset component is not necessary and is
being ignored.

> And while this change is taking place, it would be nice if there was the
> ability to have words after the url. I've often wanted:
>
> Depends-On: https://review.openstack.org/12345 - nova
> Depends-On: https://review.openstack.org/12346 - python-neutronclient
>
> Just as a quick way to remember, without having to link follow, which of
> multiple depends on are which projects. I've resorted to putting them on
> top, but for short things would love to have them on the same line.

That seems reasonable.  In a reply to Jeremy and Tristan, I suggested we
may want to extend the Depends-On syntax in the future to consume some
more information after the URL, but I think it should be fine to allow
arbitrary text now and then reclaim keywords (like "applied to") later
if necessary.

-Jim



More information about the OpenStack-Infra mailing list