[llvm-dev] [RFC] Introduce an LLVM "Incubator" Process
Steve Scalpone via llvm-dev
llvm-dev at lists.llvm.org
Mon Jun 22 14:54:03 PDT 2020
Had there been an llvm incubator process, I would have encouraged flang to apply.
Flang became an llvm subproject this spring after a few years of development in github/flang-compiler.
The llvm development process and tools are basically the same as what we had been using in github. Transitioning to phabricator was not difficult.
The main technical difficulty with the transition was the integration of flang with the llvm build system (cmake files). LLVM is big, the build system is complex, test builds are slow, and there are a great many different configurations that must be supported.
The volume of changes coming from llvm-project is huge compared to flang-compiler/f18 -- we dialed back our CI to only trigger builds when files under flang or mlir change.
- Steve
On 6/22/20, 11:24 AM, "llvm-dev on behalf of Nicolai Hähnle via llvm-dev" <llvm-dev-bounces at lists.llvm.org on behalf of llvm-dev at lists.llvm.org> wrote:
External email: Use caution opening links or attachments
On Sun, Jun 21, 2020 at 12:43 AM Chris Lattner via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
> - We maintain the same high bar to get into the LLVM monorepo, LLVM CI etc. No change here.
>
> - We have a very light-weight proposal process that allows people to create incubator projects in the LLVM organization, with no code up front. The project would be required to have e.g. a charter document and README.
>
> - Such projects are required to follow the LLVM developer policy, coding standards, CoC, etc, but can define their own stability and evolution process, code owners, etc.
>
> - When the project is ready to graduate, it would follow the existing process for becoming a first-class part of the mono repo.
>
> - We have some policy on when to retire/delete projects, which can be ironed out the first time it comes up (e.g. start with a nomination).
>
> - We could even try to help encourage new projects to include a ‘mentor’ that has experience with the LLVM project to help nudge things in the right direction and encourage proper development approach.
>
> What do you think? Is anyone interested in helping to write up a more detailed proposal?
This seems pretty reasonable. There is a technical process question:
What does the incubator project's Git repository look like?
Specifically, I would recommend that projects that are serious about
this are started as a fork of the llvm-project mono-repository. They'd
live as a separate GitHub repository in the github.com/llvm/
organization, but share history. There'd be an expectation that such
projects regularly merge LLVM master (or rebase on top of it, but that
seems less likely for long-running projects) -- maybe once per LLVM
release cycle initially, and then more frequently as the project
becomes serious about being integrated in the monorepo. This allows an
eventual smooth merging of the project while keeping all history
without weird artefacts.
Cheers,
Nicolai
--
Lerne, wie die Welt wirklich ist,
aber vergiss niemals, wie sie sein sollte.
_______________________________________________
LLVM Developers mailing list
llvm-dev at lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
More information about the llvm-dev
mailing list