-
Notifications
You must be signed in to change notification settings - Fork 9
Description
At the moment, wiby test will create a branch called wiby-[dependency name] on the dependent being tested (and wiby result will check here).
This is very restricting - it means that you can only test one set of changes in the dependency at a time (i.e. if you have multiple PRs open on wiby, they would both try to write into wiby-wiby). Moreover, this does not allow automated linking of multiple dependencies into a single test branch.
The proposal here is to name the branch based on the dependency branch, i.e. if I'm testing feat/new-stuff on wiby, then the test branch would be called wiby-feat/new-stuff on the dependent. This way other dependencies could have feat/new-stuff and would all link into the same wiby-feat/new-stuff branch.
- The
wiby-prefix is necessary, to avoid touching non-wiby branches that people may be working on. It also makes it easier to implement thewiby clean... - If the dependency branch already starts with
wiby-- the prefix will not get added multiple times. Rationale: people may need to make tweaks to make the tests pass, esp. when linking multiple dependencies together. - If the dependent already has a branch called
feat/new-stuff, thenwibyshould base thewiby-feat/new-stuffoff that, rather than offmain/master. - Bonus points: figure out how to best name the
wiby-*branch when the branch being tested is amaster/mainon a fork of the dependency.wiby-author-master?wiby-pr-NNN[if PR already exists - it might not in the pure CLI case]?
Examples
Assuming the following imaginary dependency tree:
update-notifieris-cici-info
ci-info
Someone is authoring things in ci-info and wants to make sure they don't break is-ci and update-notifier.
New feature in ci-info
- The author has push access to
ci-info, they create a new branch withfeat/awesome-stuff - They
wiby test wibycreates awiby-feat/awesome-stuffbranch inis-ciand inupdate-notifierwhere it updates theci-infoto be pulled from git#feat/awesome-stuff.
New feature spanning ci-info and is-ci
- The author has push access to
ci-info, they create a new branch withfeat/awesome-stuff - The author has push access to
is-ci, they create a new branch withfeat/awesome-stuff - They
wiby testinci-info wibycreates awiby-feat/awesome-stuffbranch inis-ci(based offfeat/awesome-stuff) and inupdate-notifierwhere it updates theci-infoto be pulled from git#feat/awesome-stuff.- They
wiby testinis-ci wibyupdateswiby-feat/awesome-stuffinupdate-notifierto pullis-cifrom#wiby-feat/awesome-stuff- This means that
update-notifiernow hasci-infolinked from git, and deduped as well.
- This means that
New feature in ci-info, wiby uncovers tweaks required in is-ci
- The author has push access to
ci-info, they create a new branch withfeat/awesome-stuff - They
wiby test is-cibreaks - the author pushes some modifications to fix that directly intowiby-feat/awesome-stuffbranch- They
wiby testinis-ci wibyseeswiby-feat/awesome-stuffbranch inupdate-notifierand linksis-cifrom git#wiby-feat/awesome-stuffbranch.
(I'll consider drawing up some diagrams for this...)