GithubHelp home page GithubHelp logo

Comments (15)

uilton-oliveira avatar uilton-oliveira commented on May 22, 2024 4

It looks like that the support for ephemeral was finally merged on actions/runner#660
Would be nice to have support here aswell for a better scale-up/down...

from terraform-aws-github-runner.

ScottGuymer avatar ScottGuymer commented on May 22, 2024 1

Implementing this is in progress. Closing this in favour of #1372. Will track the implementation of this there.

from terraform-aws-github-runner.

npalm avatar npalm commented on May 22, 2024

Thanks for creating the suggestion, and I really support this idea. Any idea for iimplementation. There are potential some caveats:

  • Not every event that we recieve from GitHub is matching 1-1 with a job. So that part needs then more adjustment.
  • Not easy, but possible to detect that a job is finish, requires maybe a small agent on the host.
  • Having hot instances only requires to configure the runner at the moment a job should start, a command via a SSM document seems a logical choice.

from terraform-aws-github-runner.

directionless avatar directionless commented on May 22, 2024

For similar reasons to the OP, this is a feature I also like. A related project, envoyproxy/ci-infra does this by having the runners in an ASG, and detaching on job start.

from terraform-aws-github-runner.

mrmeyers99 avatar mrmeyers99 commented on May 22, 2024

Upvoting this as well. I don't want a bad job to leave behind stuff that could impact a future job.

from terraform-aws-github-runner.

npalm avatar npalm commented on May 22, 2024

Would be great if we can support this strategy as well. Really like the idee. Hope I have the next months some time to do some experiments!

from terraform-aws-github-runner.

mrmeyers99 avatar mrmeyers99 commented on May 22, 2024

It looks like there is a --once flag you can pass to the runner on startup but it's not officially supported yet and apparently has some issues. actions/runner#510. Maybe the best solution is to wait for this to be officially supported?

from terraform-aws-github-runner.

npalm avatar npalm commented on May 22, 2024

GitHub is also started with testing an event for workflow jobs to handle a better sclaing

from terraform-aws-github-runner.

aidan-mundy avatar aidan-mundy commented on May 22, 2024

It isn't clear whether or not the new --ephemeral flag is supported for GHES. Regardless, I see this as an essential tool, and would love to see it included here.

from terraform-aws-github-runner.

gertjanmaas avatar gertjanmaas commented on May 22, 2024

is there anyone that can test the ephemeral flag with GHES?

from terraform-aws-github-runner.

aidan-mundy avatar aidan-mundy commented on May 22, 2024

It has been confirmed in actions/runner#660 that --ephemeral is not yet supported on GHES

from terraform-aws-github-runner.

jensenbox avatar jensenbox commented on May 22, 2024

What changes are required to implement this? I understand that it is not available for GHES but in other environments this would be amazing. https://docs.github.com/en/actions/hosting-your-own-runners/autoscaling-with-self-hosted-runners

from terraform-aws-github-runner.

gertjanmaas avatar gertjanmaas commented on May 22, 2024

From the top of my head:

  1. Add the --ephemeral flag to the code that installs the runner on the EC2 instance
  2. Figure out a way to terminate the EC2 instance after the runner is done
  3. Implement new scaling logic for ephemeral runners, because the current logic will probably not work (e.g. the idle configuration)
  4. TEST! 😄

Of course all of this needs to be configurable and backwards compatible for GHES.

from terraform-aws-github-runner.

mrmeyers99 avatar mrmeyers99 commented on May 22, 2024

It would be nice if the idle configuration meant how many runners should be registered and waiting for jobs. Every time one getsa job, the scale up lambda would register another.

from terraform-aws-github-runner.

uilton-oliveira avatar uilton-oliveira commented on May 22, 2024

actions/runner#660 (comment)

--ephemeral will ship in the next version of GHES (but as I said above it requires server changes to fix the race condition with client side only assignment)

from terraform-aws-github-runner.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.