I’ve heard it thrown around in professional circles and how everybody’s doing it wrong, so… who actually does use it?

For smaller teams

“scaled” trunk based development

  • Ismay@programming.dev
    link
    fedilink
    arrow-up
    27
    ·
    6 months ago

    I do, on a 900+ developer mono repo. Works like a charm.

    We just have a CD that allows to deliver each project each micro service individually.

      • Ismay@programming.dev
        link
        fedilink
        arrow-up
        5
        ·
        6 months ago

        Yeah, the biggest problem is keeping up to date.

        That’s where the mono repo really shines. We have a folder for common stuff that everyone depends upon. A modification is automatically applied/compatible with every micro service. Really streamline the lib updates problem ^^

    • onlinepersona@programming.devOP
      link
      fedilink
      English
      arrow-up
      4
      ·
      6 months ago

      Out of curiosity, how long are CI and CD runs? And are there any particularities in the way of working for example every PR/MR is created by pair programmers, or the use of josh to cut down on time to clone, stuff like that.

      Anti Commercial-AI license

      • AggressivelyPassive@feddit.de
        link
        fedilink
        arrow-up
        4
        ·
        6 months ago

        If cloning a repo is an issue, you’re using CI wrong. --shallow has it’s purpose.

        Anyway, in my project a complete CI run including local integration tests takes about an hour. We could cut that down by running things in parallel, but we never bothered to add more runners.

        I would say, if your tests hold you back, you might want to reconsider testing. Staged testing is an option, or just reevaluate whether you really need all those test cases. Many integration tests are not really testing that much, because 95% of them overlap.

      • Ismay@programming.dev
        link
        fedilink
        arrow-up
        1
        ·
        6 months ago

        No problem for the cloning.

        A CI run is around 8 mins. We just use bazel to determine what to run and to keep cache of unchanged tests.