Jannis
02/27/2020, 4:40 PMJannis
02/27/2020, 4:40 PMarrow-core
cares none if it breaks anything in arrow-fx
yet. arrow-fx
will then get an automatic pr to "update" to a newer version, that may fail and need to be resolved. This has the benefit of the master branch in all repos ideally never breaking as it does now, which stalls development quite a bit. If this works the only downside of this is that a change in arrow-core
is not seen as breaking before it is merged (but that already applies right now anyway). I think that this can be quite the elegant solution but it may be hard to coordinate and setup.
• Another idea is to be able to open pr's that point to different snapshot versions, that may or may not even come from a branch that is not master. This offers the ability to say open a breaking pr in arrow-core
and have one condition for merging be that there are also green accepted prs in all affected repos that this change breaks. If it breaks fx we'd open a pr in fx that builds against core from the pr and not from master, and only if that pr is green and accepted we'd accept the pr in core. This is nice because a contributor directly sees where his code produces breaking changes. The downsides are: A single pr will built all of arrow again, coordination between prs is much more complex and the more arrow libs there are the crazier this will be.
The second one isn't great, I only included it for completeness and maybe this spawns some new ideas^^Jannis
02/27/2020, 4:40 PMRachel
02/27/2020, 5:31 PMJannis
02/27/2020, 5:32 PMRachel
02/27/2020, 5:35 PMJannis
02/27/2020, 5:39 PMIt could be done just for the dependent librariesThat would be good for everything with few dependants.
arrow-core
will still have an hour long build. arrow-fx
will also take around ~30-40 mins because of it and incubator taking both around ~15-20 mins to build. It is better don't get me wrong, but it still is quite the task if it is run on every commit for every prsimon.vergauwen
02/27/2020, 7:05 PMbut it still is quite the task if it is run on every commit for every prWell isn’t that the trade-off for knowing it beforehand without having to challenge yourself to anticipate all the breaks, no?
simon.vergauwen
02/27/2020, 7:07 PMJannis
02/27/2020, 7:21 PMWell isn’t that the trade-off for knowing it beforehand without having to challenge yourself to anticipate all the breaks, no?It certainly is. But I think that that is the least important problem atm. The constant breaking of master branches is way more important. Knowing what breaks beforehand would just be nice to have, but isn't essential
raulraja
02/27/2020, 10:38 PM