Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ephemeral runners #1372

Closed
npalm opened this issue Nov 3, 2021 · 7 comments
Closed

Ephemeral runners #1372

npalm opened this issue Nov 3, 2021 · 7 comments
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@npalm
Copy link
Member

npalm commented Nov 3, 2021

Description

The current runners are short lived but not ephemeral. A runner can process multiple jobs till it got killed by the scale-down lambda. Ephemeral runners guarantee a clean environment for every job to improve security. Avoiding any shared state, or left overs between jobs.

How

GitHub have introduced the workflow_job to support scaling ephemeral runners. The runner agent is extended with the option --ephemeral which will terminate the agent after a run and de-register it.

  • Enable via option ephemeral to runners [ephemeral] Add option ephemeral runners #1375
  • Boot instances faster, e.g. via pre-build ami
  • Have an optional pool available of runner
  • Handle events that cannot processed due to limits or exceptions

Implementation

For tracking implementation a GitHub project is crated to track progress. All work will be first merged to the branch feature/ephemeral. Active development (also via PR) on ephemeral runnes can done via PR's to this branch.

@npalm npalm added enhancement New feature or request help wanted Extra attention is needed labels Nov 3, 2021
@skyzyx
Copy link
Contributor

skyzyx commented Nov 3, 2021

‡ …for GitHub.com.

For GHES, workflow_job does not exist in v3.2, and neither does --ephemeral. The latter is supposed to be coming in v3.3. There has been no public announcement of workflow_job coming to GHES one way or the other.

See also #182.

@npalm
Copy link
Member Author

npalm commented Nov 3, 2021

@skyzyx thanks for the notice, we will keep the module backwards comptabile. But I planning only to support hte ephemeral runners together with the workflow_job event

@aidan-mundy
Copy link

@skyzyx @npalm Enterprise Server 3.3.0.rc1 dropped yesterday with support for ephemeral runners and workflow_job.

@ScottGuymer
Copy link
Member

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

@aidan-mundy
Copy link

@ScottGuymer 🤔 this is #1372

@ScottGuymer
Copy link
Member

ScottGuymer commented Dec 2, 2021

oops too many tabs..

@ScottGuymer ScottGuymer reopened this Dec 2, 2021
@ScottGuymer ScottGuymer added this to to do in Ephemeral runners Dec 2, 2021
@npalm npalm moved this from to do to done in Ephemeral runners Jan 12, 2022
@ScottGuymer
Copy link
Member

This is now implemented and released

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
No open projects
Development

No branches or pull requests

4 participants