hey nerds! i got a lovely email from GitHub this morning that their increasingly vibe-coded, barely-working Actions features are about to get more expensive (charging by the minute for something that notoriously spin-locks is a special flavor of shit sandwich).

i usually just use whatever i’m given at wherever i’m working. i do have a project that i maintain to parse Ollama Modelfiles tho: https://github.com/covercash2/modelfile and to be honest, Actions is the only solution i’ve ever used that came close to sparking joy, simply because it was easy to use and had tons of community mind-share (i’ve definitely heard horror stories and would never stake my business on it), but this price increase and all the other news around GitHub lately has got me side-eying self-hosting solutions for my git projects. Forgejo seems like the way to go for git hosting, but Actions in particular Just Works™️ for me, so i’m kind of dreading setting something up that will be yet another time sink/rabbit hole (just in time for the holidays! 🙃).

i can install most of my tooling with my language toolchain (read: rustup and cargo) which makes things fairly neat, but i just don’t have a sense for what people use outside of Jenkins and Actions.

i thought this community might have some insight beyond the LLM generated listicles that have blighted modern search results.

thanks in advance 🙏

    • Victor@lemmy.world
      link
      fedilink
      English
      arrow-up
      4
      ·
      4 months ago

      connexion

      I’m imagining you saying “connex-yun”, and it reminds me of Stewie saying “cool-hhhwip”.

    • AA5B@lemmy.world
      link
      fedilink
      English
      arrow-up
      3
      ·
      4 months ago

      I’m not entirely sure why all the hate : Jenkins can do the most things the must ways. And yes, it’s so much nicer defining a pipeline with a fully functional language than an assortment of yaml files

      Actually that was my response when my company wanted to start using Gitlab ci. It only has one way of doing things so you can probably get a faster start if you had no ci, were a small company, and had simple builds. However we’re over 4,000 builds in many languages from 12 year old monoliths to modern micro services and containers…… and way too much godawful JavaScript. Do you want the quick and simple tool great for a small startup or the all powerful kitchen sink of tools?

  • Carol2852@discuss.tchncs.de
    link
    fedilink
    English
    arrow-up
    6
    ·
    4 months ago

    I’m using gitea which has CI compatible to GitHub actions with my own runner. It’s pretty straightforward to set up and didn’t give me any headaches yet. It’s a very small instance just for my ownaybe dozen projects though.

    • yaroto98@lemmy.world
      link
      fedilink
      English
      arrow-up
      4
      ·
      4 months ago

      This is what I was using till I switched to forgejo and never got around to setting up one of their runners.

      • Carol2852@discuss.tchncs.de
        link
        fedilink
        English
        arrow-up
        2
        ·
        4 months ago

        I run their act binary on one of my servers. Can’t remember much of the setup, so I can’t be too bad. I did have to change the used images though, but I guess that comes with maintenance of you own runner anyway.

      • cecilkorik@lemmy.ca
        link
        fedilink
        English
        arrow-up
        2
        ·
        4 months ago

        If it helps motivate you to give it a shot, I found gitea’s runner very confusing to set up, but I felt like forgejo was better designed, pretty easy and well documented.

        • yaroto98@lemmy.world
          link
          fedilink
          English
          arrow-up
          1
          ·
          4 months ago

          I hadn’t used gitea for long. I just had both running, and then cloned my repos one at a time manually. So long as I had the code, I didn’t really care.

    • chrash0@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      4 months ago

      good lead. it’s just the one project for now, and to my surprise it’s actually a dependency for the ollama-rs project, so i feel somewhat obligated to keep it stable.

  • elephantium@lemmy.world
    link
    fedilink
    English
    arrow-up
    5
    ·
    4 months ago

    We use Azure Devops at my current gig. It works pretty well for our setup. I’ve used GHA before; it definitely didn’t “spark joy”. I wastedspent way too many hours in the “update yaml file, commit, push, wait 5 minutes for it to fail again” spiral of despairfeedback loop.

    Nice thing with ADO is its release dashboard – you get a really nice summary of recent builds and where they went:

    $project - dev - test - prod

    I didn’t see anything similar for GHA.

    • douglasg14b@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      4 months ago

      A lot of that pain can be reduced by writing and running your code locally before pushing it to a CI environment. Generally with our automation we write a CLI, And GitHub actions is just an execution environment that calls the CLI.

      And if what you’re trying to do must execute inside an action. You can run workflows locally with docker!

      • elephantium@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        4 months ago

        That’s a great idea if it’s possible, but I want to say it wouldn’t have helped with our environment at the time.

        I almost wish I could look back at that repo and share the yaml file here, maybe I was missing something back then. I’m certainly more proficient with yaml now.

        I do recall wishing there was a way to simulate the execution locally. I think I remember hearing about a local runner, but it had too many caveats to help.

  • weastie@lemmy.world
    link
    fedilink
    English
    arrow-up
    5
    ·
    4 months ago

    I do devops at work and my experience is that really any CI/CD system works, they all have enough features to do what you want. They all fundamentally just run scripts on boxes. Therefore, I say pick the easiest one, likely the one that is built into whatever Git system you are using.

    Try to keep your pipelines simple-ish when you can, they almost never need to be that complicated. 95% of the time it’s just running a command or two. If a pipeline needs to do something complex, I’d recommend writing that script into the Git repo and calling it, rather than having a CI job that is 100 lines long.

    • chrash0@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      4 months ago

      this is my experience as well. we have a bespoke wrapper around Jenkins, and the more we can test locally the less time we have to spend waiting for the system to fail. it’s one of the reasons i’ve adopted just to script things locally as if it was CI.

  • fruitycoder@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    4
    ·
    4 months ago

    Git lab CI is my goto for git repo based things (unit tests, integration tests, etc). Fleet through Rancher for real deployments (manages and maintains state because kubernetes). Tekton is my in between catchall.

    • chrash0@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      4 months ago

      i honestly didn’t look that close, obviously haha

      but yeah, i’ve been kinda looking for a reason to de-Microsoft my stuff

  • TheHolm@aussie.zone
    link
    fedilink
    English
    arrow-up
    2
    ·
    4 months ago

    Woodpecker. No BS CI which can be attached to pretty much anything. It just need a webhook and way to pull your project.

    • chrash0@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      4 months ago

      nice. simple and modular i like. i deal with far too many “one stop shops” at work to bring that home

  • douglasg14b@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    4 months ago

    GitHub Actions mostly.

    The rest is usually plumbing and code to support it. The actions are just the automated execution environment.

  • slacktoid@lemmy.ml
    link
    fedilink
    English
    arrow-up
    1
    ·
    4 months ago

    I use it to regularly push a new version of a PDF planner/calendar in December.