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

Suggestion: Switch to Docker image action vs built container action #9

Open
beastawakens opened this issue May 22, 2023 · 3 comments
Open
Assignees

Comments

@beastawakens
Copy link
Collaborator

I've made significant speed gains on a lot of CI processes by switching from using the default Convox actions to a Docker image based one.
I've taken the current Convox actions and produced a docker image from them, this is then referenced in the action.yml for GitHub to pull. This saves GitHub from needing to build each container on every CI run, which can take 30-60s per action, vs 4-5s so we're saving multiple minutes on each run.

From:
image

To:
image

I'm happy to transfer ownership of the repo to the convox org if desired, or for you guys to simply copy the methodology!

I also combined all actions into one action to save downloading multiple images, but there are downsides to that in terms of not being able to rigidly enforce required parameters.

See the resulting action here: https://github.com/beastawakens/action-convox-multi-slim with the important config in the action.yml here: https://github.com/beastawakens/action-convox-multi-slim/blob/main/action.yml#L50

The image is here https://hub.docker.com/r/beastawakens/action-convox-multi-slim and currently is just manually uploaded but could easily be automated as part of action release.

@nightfury1204
Copy link

@beastawakens thanks for the issue
one of the main reason i think it is uses the Dockerfile so that it can use the latest cli

@nightfury1204
Copy link

but i understand your point
let me talk with the team

@beastawakens
Copy link
Collaborator Author

@beastawakens thanks for the issue
one of the main reason i think it is uses the Dockerfile so that it can use the latest cli

Simple solve to have an action to produce a fresh Docker image when a new version is released 😁
Will sort that out soon...

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

3 participants