Skip to content

Task packaging as container image. #2285

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

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Conversation

trulede
Copy link
Contributor

@trulede trulede commented Jun 7, 2025

This is a dockerfile and workflow for distributing Task in a scratch based image. Images would be pushed to GHCR, which is significantly less a pain in the arse than pushing images to Docker Hub, but you can do that too ... I doubt its worth the effort!

Workflow integration is tedious, the example I have provided should work out-of-the-box.

edit: ... however, the workflow should probably be triggered after all other checks have occured, which is to say ... after the normal release process has completed (and binaries are published).

fixes #1801

@trulede
Copy link
Contributor Author

trulede commented Jun 7, 2025

This is an alternative to #1875 (and #1868?) and just simply distributes task in a container. People can use this image in a multi-stage build to directly install the task binary and avoid compilation delay of manually installing task. And also to pin versions.

Generally, running task in a container provided by go-task is not itself useful, since: we (royal "we") are not going to trust that image (at all!); we put a lot of effort into our own images; and in any case we need to package additional tools which task itself is then automating. Also, providing docker images for broad distribution is a lot of stuffing around ...

Therefore this alternative is provided.

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

Successfully merging this pull request may close these issues.

Distribute as Docker Image
1 participant