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

Adding support for pluggable Container Execution Environments like AWS ECS Fargate and similar #2357

Open
yuriy-yarosh opened this issue Jun 9, 2024 · 2 comments
Labels
kind/feature-request New feature or request

Comments

@yuriy-yarosh
Copy link

Act version

act version 0.2.63

Feature description

Github Actions autoscaling is kinda busted if you don't want to rely on Github Actions Webhooks.
AWS CodeBuild and AWS CodeCatalyst are overpriced, and it makes more sense to replace them with AWS ECS Fargate Spot, or EC2 Spot Fleet Instances.

ACT has a pre-defined workflow graph for jobs that can be traversed and respective resources could be provisioned, autoscaled on demand, or scrapped during idling.

This would make ACT a very convenient tool for those who don't want to dive deep into Kubernetes and prefer to focus on simpler Cloud Managed Solutions.

@yuriy-yarosh yuriy-yarosh added the kind/feature-request New feature or request label Jun 9, 2024
@yuriy-yarosh
Copy link
Author

Shoes have something similar for EC2 Spots, implemented as a hashicorp plugin.

@ChristopherHX
Copy link
Contributor

What is your longterm Goal?, some of solutions are already available in the wild

Some potential Goals are listed here, maybe it's not in the list

  • replace GitHub Actions completely
    • Want to use nektos/act cli with the feature requested here
    • my runner.server project, webhook based fake GitHub Actions Server. Not ready outside POC testing.
  • replace both GitHub and GitHub Actions completely
    • => Gitea + Gitea Actions
      • act_runner based on nektos/act for job execution
      • MIT License
      • self-hostable
      • I'm not aware of an autoscaler
  • replace the GitHub Actions Runner and keep using GitHub Actions
    • => github-act-runner
      • Disclaimer my project
      • based on my fork of nektos/act
      • allows to create a pipe shell script to move the job into anything you can pipe stdin/stdout to (maybe complicated to set up), this allows you to execute a fixed/variable count of runners on the same node as long polling listener that creates anything you like if you have something like ssh access
      • can be remote controlled by my fake GitHub Actions backend (runner.server), that doesn't implement sending workflow_job events
      • also can tunnel actions/runner into different containers
      • Could satisfy these requirements taken from linked issue

        nothing similar to an external workflow or external execution environments providers.

      • I'm not aware of an autoscaler

BTW I don't have the time to implement feature requests

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature-request New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants