You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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 the wiby 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, then wiby should base the wiby-feat/new-stuff off that, rather than off main / master.
Bonus points: figure out how to best name the wiby-* branch when the branch being tested is a master / main on 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-notifier
is-ci
ci-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 with feat/awesome-stuff
They wiby test
wiby creates a wiby-feat/awesome-stuff branch in is-ci and in update-notifier where it updates the ci-info to 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 with feat/awesome-stuff
The author has push access to is-ci, they create a new branch with feat/awesome-stuff
They wiby test in ci-info
wiby creates a wiby-feat/awesome-stuff branch in is-ci (based off feat/awesome-stuff) and in update-notifier where it updates the ci-info to be pulled from git #feat/awesome-stuff.
They wiby test in is-ci
wiby updates wiby-feat/awesome-stuff in update-notifier to pull is-ci from #wiby-feat/awesome-stuff
This means that update-notifier now has ci-info linked from git, and deduped as well.
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 with feat/awesome-stuff
They wiby test
is-ci breaks - the author pushes some modifications to fix that directly into wiby-feat/awesome-stuff branch
They wiby test in is-ci
wiby sees wiby-feat/awesome-stuff branch in update-notifier and links is-ci from git #wiby-feat/awesome-stuff branch.
(I'll consider drawing up some diagrams for this...)
The text was updated successfully, but these errors were encountered:
At the moment,
wiby test
will create a branch calledwiby-[dependency name]
on the dependent being tested (andwiby 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 intowiby-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
onwiby
, then the test branch would be calledwiby-feat/new-stuff
on the dependent. This way other dependencies could havefeat/new-stuff
and would all link into the samewiby-feat/new-stuff
branch.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
...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.feat/new-stuff
, thenwiby
should base thewiby-feat/new-stuff
off that, rather than offmain
/master
.wiby-*
branch when the branch being tested is amaster
/main
on 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-notifier
is-ci
ci-info
ci-info
Someone is authoring things in
ci-info
and wants to make sure they don't breakis-ci
andupdate-notifier
.New feature in
ci-info
ci-info
, they create a new branch withfeat/awesome-stuff
wiby test
wiby
creates awiby-feat/awesome-stuff
branch inis-ci
and inupdate-notifier
where it updates theci-info
to be pulled from git#feat/awesome-stuff
.New feature spanning
ci-info
andis-ci
ci-info
, they create a new branch withfeat/awesome-stuff
is-ci
, they create a new branch withfeat/awesome-stuff
wiby test
inci-info
wiby
creates awiby-feat/awesome-stuff
branch inis-ci
(based offfeat/awesome-stuff
) and inupdate-notifier
where it updates theci-info
to be pulled from git#feat/awesome-stuff
.wiby test
inis-ci
wiby
updateswiby-feat/awesome-stuff
inupdate-notifier
to pullis-ci
from#wiby-feat/awesome-stuff
update-notifier
now hasci-info
linked from git, and deduped as well.New feature in
ci-info
, wiby uncovers tweaks required inis-ci
ci-info
, they create a new branch withfeat/awesome-stuff
wiby test
is-ci
breaks - the author pushes some modifications to fix that directly intowiby-feat/awesome-stuff
branchwiby test
inis-ci
wiby
seeswiby-feat/awesome-stuff
branch inupdate-notifier
and linksis-ci
from git#wiby-feat/awesome-stuff
branch.(I'll consider drawing up some diagrams for this...)
The text was updated successfully, but these errors were encountered: