actions/q-154: ADD question r/t Docker container actions#708
actions/q-154: ADD question r/t Docker container actions#708mcummings128 wants to merge 2 commits into
Conversation
Adds a new question regarding when to use Docker container actions (and what they are): - Highlights appropriate use cases (consistent runtime dependencies and full control) - Explains Docker container actions are not low-overhead - Clarifies that they run only on Linux runners, - Explains they have slower startup than JavaScript/composite actions - One explanation gives a brief summary of a composite action (so the user understands/remembers this as a separate concept) -Explains all actions require an action.yml.
| documentation: "https://docs.github.com/en/actions/concepts/workflows-and-actions/custom-actions#docker-container-actions" | ||
| --- | ||
|
|
||
| - [x] When you need to utilize runtime environments with consistent, specific dependencies and libraries |
There was a problem hiding this comment.
"consistent, specific dependencies and libraries"
isn't this the same for other workflows - you install dependencies from lockfiles, lock actions to specific versions etc
| --- | ||
|
|
||
| - [x] When you need to utilize runtime environments with consistent, specific dependencies and libraries | ||
| - [x] When you need full control over the execution environment |
There was a problem hiding this comment.
This sounds more like a self hosted runner thing
There was a problem hiding this comment.
It sounds like it somewhat. Researching it here and there it seems like Docker container actions can be used when you require tools that aren't preinstalled on GitHub-hosted runners.
When you use a Docker action, it seems like everything is run inside the container, separate from the runner itself. Can you think of a scenario where that sort of isolation would be preferred, so I could work that idea into an answer?
There was a problem hiding this comment.
This is one of the first actions I created (or the first)
https://github.com/FidelusAleksander/gh-action-regex
For me it really mainly was to use a language that I was comfortable with at the time - which was python, not JS.
I'm sure there are also other scenarios where controlled environments are needed - I just haven't ran into that
There was a problem hiding this comment.
Why did you choose a Docker container action vs. doing something like actions/setup-python? The answer to that might help me formulate another good additional answer.
I will definitely work on a more general answer (easier to use Ruby, Go, etc.) regardless
FidelusAleksander
left a comment
There was a problem hiding this comment.
I'm not sure I like the correct answers. Maybe include something related to running non javascript actions - e.g Go
PR Type
What's new?
Adds a new question regarding when to use Docker container actions (and what they are):
-Explains all actions require an action.yml.
For the correct answers in this, let me know if they're too similar and I can consolidate them into one, or edit one of them to be more specific to Docker container actions' use cases. I really don't know much about them, nor containers/images in general so I generally get what the docs (and Claude, who I fact-checked against :) ) are saying but I would totally get if this could be worded better
Related issue(s)
N/A
Screenshots
N/A