Conversation

Has a tool ever been written for automated maintenance+CI of a downstream patch set / fork? In other words, I have an upstream repo, and I want to maintain my own repo which is upstream plus a set of patches. [1/2]
3
3
But whenever upstream receives a commit, I want automation to try applying the patch set on top of the new commit, and if it works, build+test the result. On failure, notify humans. There should be an explicit, mutable mapping of original commit -> patched commit. [2/2]
2
1
This could be useful in many scenarios. Linux distros’ package patches, Rust’s fork of LLVM, ungoogled-chromium, Linux hardware forks (though you should upstream!)… Today these tend to involve someone manually rebasing/merging, and as such only update upon major releases.
2
1
Replying to and
There is a fair bit of scripting being used but the core of our approach is keeping everything cleanly rebased and obsessively cleaning up / minimizing / reviewing our patch sets to the upstream repositories. Also, tricking upstream into doing our work for us tends to work well.
1
2
Replying to and
We'd like to be trying to land a lot of stuff upstream again but we've had a lot to deal with recently. Focusing on development at all has been difficult. Our changes to Chromium aren't as substantial and we feel most could realistically be landed upstream as build configuration.
1
Replying to and
I wouldn't want to deal with CI applying our Chromium patches repeatedly as it goes through development. If we had more resources, we'd rather start porting / testing patches to a Beta release for an upcoming major release and have most ready for the upcoming Stable release.
1
Replying to and
AOSP is a lot harder because it's developed internally and we unfortunately do not currently have early access to the major releases. Each major release gets 3 years of security updates but we consider it extremely important to port to the yearly major release within a few weeks.
1
Show replies