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

Integration with act ? #11

Closed
tiborvass opened this issue May 4, 2023 · 2 comments
Closed

Integration with act ? #11

tiborvass opened this issue May 4, 2023 · 2 comments

Comments

@tiborvass
Copy link

Hi! I was wondering what the pros/cons are of integrating with https://github.com/nektos/act.

The way I see it is:
Pros:

  • Not having to reimplement a bunch of boilerplate and non-boilerplate features (listing pipelines, showing a graph, --watch, etc.)
  • Benefit from all of the ongoing upstream work
  • Minimal work (more on this below)
  • Forkable if needed (MIT licensed)
  • Upstream can benefit from some improvements too

Cons:

  • Currently act provides 3 docker images varying in size, analogous to the VMs on GHA, but I don't think this is the right approach so I'm hoping we can add extension points in the act code to simply making it work with dagger
  • Maybe the UX is too different from what you're imagining, hence this issue

About the minimal work:
I believe the main interface to be implemented is https://github.com/nektos/act/blob/f84a566ded8d03bc4daee36bb7df2502a8351409/pkg/runner/runner.go#L16 which is quite general. Like I said, there may be some parts of the upstream code where we'd need to add extension points but overall this seems doable.

What do you think?

@aweris
Copy link
Owner

aweris commented May 4, 2023

Hey,

I completely agree that all pros about integrating nektos/act.

I believe the main interface to be implemented is https://github.com/nektos/act/blob/f84a566ded8d03bc4daee36bb7df2502a8351409/pkg/runner/runner.go#L16 which is quite general. Like I said, there may be some parts of the upstream code where we'd need to add extension points but overall this seems doable.

Yes, this runner interface is quite general and I found myself doing really similar work as well.

For the integration part, I considered this for a long time and I decided not to integrate it.

My reasoning for keeping separate:

  • Architectural differences between dagger and act would limit us in a long run
  • The feature set I would like to focus on is flexibility and troubleshooting of the workflows.
  • Benefit from all of the ongoing upstream work also has pros and cons at the same time. sometimes it's slow and hard to change fundamental parts in an ongoing project like act

However, I would like to keep this conversation open and try to find common ground for integration with act.

Maybe an easy one for integration could be building images with gale and try to use it in act as custom image.

@aweris
Copy link
Owner

aweris commented Aug 23, 2023

It appears that we can finally resolve this issue. The most recent plans for gale and act are no longer compatible due to changes in the dagger ecosystem. The focus has shifted in a different direction.

@aweris aweris closed this as completed Aug 23, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants