I can’t overstate how much I hate GitHub Actions. I don’t even remember hating any other piece of technology I used. Sure, I still make fun of PHP that I remember from times of PHP41, but even then I didn’t hate it. Merely I found it subpar technology to other emerging at the time (like Ruby on Rails or Django). And yet I hate GitHub Actions.
With Passion2.

Road to Hell
Day before writing these words I was implementing build.rs for my tmplr project. To save you a click - it is a file/project scaffold tool with human readable (and craftable) template files. I (personally) use it very often, given how easy it is to craft new templates, by hand or with aid of the tool, so check it out if you need a similar tool.

  • frongt@lemmy.zip
    link
    fedilink
    English
    arrow-up
    20
    arrow-down
    1
    ·
    10 hours ago

    the whole loop still took around 2-3 minutes to execute.

    FOR. A. SINGLE. CHANGE.

    Yes. For a single change. Like having an editor with 2 minute save lag,

    Damn you’re running a whole production pipeline and it only takes two minutes? That’s pretty good. I’ve worked with projects that take tens of minutes, if not hours, just to compile.

    Now if I was running some dinky little solo dev project, I’d probably just use some system-local CI thing for rapid iteration, if my changes needed to go through CI at all. Maybe Jenkins if I was feeling fancy. But a big project with a bunch of users on a remote platform? Getting a result in just 2-3 minutes is awesome.

    • setsubyou@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      4 hours ago

      Damn you’re running a whole production pipeline and it only takes two minutes? That’s pretty good. I’ve worked with projects that take tens of minutes, if not hours, just to compile.

      At work we have CI runs that take almost a week. On fairly powerful systems too. Multiple decades of a “no change without a test case” policy in a large project combined with instrumented debug builds…

      Tbf we don’t run those on every single change though. The per change ones take a couple hours only.

    • Jeena@piefed.jeena.netOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      5 hours ago

      We do it in several ‘stages’, we have a check pipeline to just compile a single component and run the unit tests, that takes perhaps 5 minutes.

      Then we build a incremental AOSP build with the change on top. That takes about 40 minutes.

      Then we run the incremental build together with all the other changes for the Das and Do a manual smoke test that the most important stuff works and when it does only then we merge all those changes from the previous day. That takes about two to three hours.

      Then there is the nightly test where we build the latest main branch and do static code analysis. That takes forever like 4 hours or so.

      Then there are release builds from scratch which also run all the google compliance tests for AOSP and those things run practically for more than a day.

      It’s a interesting test of your personal patiance :D. But I don’t think it’s possible to do it with GitHub Actions, we use zuul for it like BMW and Volvo: https://www.youtube.com/watch?v=Z8rofKRen3w