• qaz@lemmy.world
    link
    fedilink
    English
    arrow-up
    17
    ·
    1 day ago

    The real problem is merging before waiting for that one slow CI pipeline to complete

    • nous@programming.dev
      link
      fedilink
      English
      arrow-up
      8
      ·
      1 day ago

      One problem is GHs auto-merge when ready button. It will merge when there are still tests running unless they are required. It would be much better if the auto merges took into account all checks and not just required ones.

  • mspencer712@programming.dev
    link
    fedilink
    arrow-up
    99
    ·
    2 days ago

    Devs make mistakes. We want to put up guardrails so mistakes don’t hurt us so much.

    Please don’t deliberately line the guardrails with barbed wire.

  • TheNamlessGuy@lemmy.world
    link
    fedilink
    arrow-up
    10
    ·
    1 day ago

    This just sounds like “my frontend only changes shouldn’t be impacted by some dumbass breaking backend two commits ago”, which seems reasonable.

  • nous@programming.dev
    link
    fedilink
    English
    arrow-up
    6
    ·
    edit-2
    1 day ago

    We have a few non-required checks here and there - mostly as you need an admin to list a check as required and that can be annoying to do. And we still get code merged in occasionally that fails those checks. Hell, I have merged in code that fails the checks. Sometimes checks take a while to run, and there is this nice merge when ready button in GH. But it will gladly merge your code in once all the required checks have passed ignoring any non-required checks.

    And it is such a useful button to have, especially in a large codebase with lots of developers - just merge in the code when it is ready and avoid forgetting about things for a few hours and possibly having to rebase and run all the checks again because of some minor merge conflict…

    But GH required checks are just broken for large code bases as well. We don’t always want to run every check on every code change. We don’t need to run all unit tests when only a documentation has changed. But required checks are all or nothing. They need to return something or else you cannot merge at all (though this might apply to external checks more then gh actions maybe). I really wish there was a require all checks to pass and a at least one check must run. Or if external checks could tell GH when they are required or not. Either way there is a lot of room for improvement on the GH PR checks.