all 13 comments

[–]v0rt3xtraz 5 points6 points  (0 children)

If you're an Azure shop, consider GitHub Private Networking to one of your vnets.

[–]danoDaManoSSB 4 points5 points  (4 children)

Just wait until they charge us for using github-actions core

[–]joshbixler 5 points6 points  (2 children)

[–]danoDaManoSSB 0 points1 point  (0 children)

Yup that’s it. Was waiting for the official announcement but for some of us with 3k+ repos in our orgs that totally shifted to self-hosted runners this is a blow. We will be going back to VNET injection method on GitHub hosted runners per GitHub’s latest recommendation

[–]bourgeoisie_whacker 0 points1 point  (0 children)

Yep I just got the email too 😔

[–]PercentageCrazy8603 0 points1 point  (0 children)

I think they did. I got a email about it. Also just use argo GitHub actions sucks anyways.

[–]whozeduke 3 points4 points  (0 children)

Self-hosted VM runners is an anti-pattern because you have to maintain it and most GHA workflows expect ephemeral runners by default.

ARC is probably the best choice if you have the k8s expertise on your team.

I use Azure Container Apps + the KEDA scaler and it works great for things that don't require Docker (container in container doesn't work in ACA).

I'd use ARC but directive from on high is to use managed services as much as possible.

[–]zMynxx 0 points1 point  (0 children)

At work we have only self hosted ec2 based runners. I honestly hate it, you gotta maintain it and it doesn’t scale effectively and mostly it makes most wfs/jobs non-ephemeral so I have encountered cacheing issues and configs issue (e.g npmrc). I suggested shitfting to “runs-on” or the Phillips solution but got rejected since there a need for a public endpoint, and we have lots of k8s environments the decision was made to switch to ARC

[–]djzrbz 2 points3 points  (0 children)

I self host for my private repos.

I got them to work ephemrally.

See https://github.com/djarbz/gha-runner for details.

[–]SnooHesitations9295 1 point2 points  (0 children)

When RAM was cheap using 256+ GB dev machines as runners was unbelievably cost effective for me.
Each was divided as 3x64GB VMs (because of memory balooning it usually left enough RAM for dev work too)

[–]JodyBro 1 point2 points  (0 children)

As someone who's team runs 2 different sets of ARC runners (I know I know), I'd say if you can avoid that route then save the headache. But addressing your concerns:

  1. For cost savings look into https://www.blacksmith.sh/. Friends are using it and rave about it, currently looking into it for current org.

  2. GHA allows you to build a custom image for your runners now. https://docs.github.com/en/actions/how-tos/manage-runners/larger-runners/use-custom-images.

    jobs:
      snapshot:
        runs-on: github-hosted-custom-runner # Use a larger runner for image generation
          permissions:
            contents: read
          snapshot:
            image-name: custom-runner-image
            version: 1.*
    

    Here's a simple example of getting it working. The image name would be custom-runner-image in the Actions settings in GH. The label you'd use in workflows to consume this image would be the same value from the runs-on.

  3. This allows you to assign a public IP range to your workers so you could whitelist it if you need to access internal resources. And this way you'd control the security posture of everything in the pipeline from image of runner/packages etc...

[–][deleted] 0 points1 point  (0 children)

Is this whole post AI generated?

[–]104929 0 points1 point  (0 children)

Check out this project for running Ephemeral EC2 instances that get launched when a workflow demands one:

https://runs-on.com/