I scanned the public repos of 128 YC-backed dev tools companies, 6,195 repos in total. I expected the companies building our tooling to enforce the basics on themselves. Only 2 of the 128 require any status check to pass before merging.

  • Eager Eagle@lemmy.world
    link
    fedilink
    English
    arrow-up
    4
    ·
    4 hours ago

    IME some people (at least the ones who care) start more critical repos with good intentions, enabling most of these things.

    But then comes a time where a hotfix must be merged asap to production and there’s no one to review it for 3 days; branch protection gets disabled.

    or an update in the code quality tooling detects an additional dozen warnings without the codebase changing; check enforcement gets disabled.

    I think in most cases this is completely fine. Whoever is already a contributor should know what’s the team policy merging things, and having ways to occasionally bypass these checks can be more beneficial than not.

  • setsubyou@lemmy.world
    link
    fedilink
    arrow-up
    22
    ·
    11 hours ago

    We used to use completely separate tools for code review (in our case because the process was older than git). Some of them might be doing something similar.

    • peternovakdev@programming.devOP
      link
      fedilink
      arrow-up
      4
      ·
      5 hours ago

      That’s fair, and it’s a real limit of measuring GitHub config. If a team runs review or merge gating in a separate tool, or mirrors to GitHub from somewhere that’s their actual source of truth, the scan won’t see it and they’d look unprotected when they aren’t. The finding is really about repos where GitHub is the place the work happens, and even then it’s public repos only. Worth saying plainly so the number isn’t read as more than it is.

    • atzanteol@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      13
      ·
      9 hours ago

      This was my first thought - just because your code is on GitHub doesn’t mean you’re using it for everything.

    • peternovakdev@programming.devOP
      link
      fedilink
      arrow-up
      6
      ·
      12 hours ago

      Right? The part that surprised me was that most of them turn branch protection ON and then don’t require any check to pass. So the gate is there, it just doesn’t gate anything. Makes me wonder if private repos are the same or if the public ones just get less attention.

      • dwt@feddit.org
        link
        fedilink
        Deutsch
        arrow-up
        10
        ·
        12 hours ago

        Not a start up, but we require code review, even though it is not enforced via rules, to allow emergency overrides.

        Gets used maybe once every 300 pull requests though.

        Convention over configuration is a thing - so maybe look into their actual merge behavior?

        • VonReposti@feddit.dk
          link
          fedilink
          arrow-up
          6
          ·
          12 hours ago

          My old workplace had the same’ish. The developer team who owned the service had rights to disable branch protection. Disabling this would create alerts to the manager but allowed an on-call developer to make an emergency bug fix at 2am and get a postmortem review the next day.

        • peternovakdev@programming.devOP
          link
          fedilink
          arrow-up
          2
          ·
          12 hours ago

          Good distinction. If it’s useful, GitHub lets you require checks and still grant a bypass for specific people or teams, so the hard rule and the emergency escape hatch can coexist, and the scan reads that as passing. Could be you’ve already weighed that, in which case ignore me.

  • MalReynolds@slrpnk.net
    link
    fedilink
    English
    arrow-up
    1
    ·
    8 hours ago

    Why would you do that?

    Because you hate yourself?

    Oh, right, you found a tool (self reflect) that let’s you do it with zero effort. FU…