Skip to content
Open
Show file tree
Hide file tree
Changes from 14 commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 51 additions & 0 deletions .goreleaser.yml
Original file line number Diff line number Diff line change
Expand Up @@ -131,3 +131,54 @@ winget:
owner: go-task
name: winget-pkgs
branch: "bump-task-to-{{.Tag}}"

dockers:
- image_templates:
- "ghcr.io/go-task/task:v{{.Version}}-amd64"
use: buildx
dockerfile: Dockerfile
build_flag_templates:
- "--platform=linux/amd64"
- "--label=org.opencontainers.image.created={{.Date}}"
- "--label=org.opencontainers.image.title={{.ProjectName}}"
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
- "--label=org.opencontainers.image.version={{.Version}}"
- "--label=org.opencontainers.image.url=https://taskfile.dev"
- "--label=org.opencontainers.image.source=https://github.com/go-task/task"
- "--label=org.opencontainers.image.licenses=MIT"
- "--label=org.opencontainers.image.authors=The Task authors <[email protected]>"
- "--label=org.opencontainers.image.description=Task is a task runner / build tool that aims to be simpler and easier to use than, for example, GNU Make."
- image_templates:
- "ghcr.io/go-task/task:v{{.Version}}-arm64v8"
use: buildx
goarch: arm64
dockerfile: Dockerfile
build_flag_templates:
- "--platform=linux/arm64/v8"
- "--label=org.opencontainers.image.created={{.Date}}"
- "--label=org.opencontainers.image.title={{.ProjectName}}"
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
- "--label=org.opencontainers.image.version={{.Version}}"
- "--label=org.opencontainers.image.url=https://taskfile.dev"
- "--label=org.opencontainers.image.source=https://github.com/go-task/task"
- "--label=org.opencontainers.image.licenses=MIT"
- "--label=org.opencontainers.image.authors=The Task authors <[email protected]>"
- "--label=org.opencontainers.image.description=Task is a task runner / build tool that aims to be simpler and easier to use than, for example, GNU Make."

docker_manifests:
- name_template: "ghcr.io/go-task/task:v{{.Major}}.{{.Minor}}.{{.Patch}}"
image_templates:
- "ghcr.io/go-task/task:v{{.Version}}-amd64"
- "ghcr.io/go-task/task:v{{.Version}}-arm64v8"
- name_template: "ghcr.io/go-task/task:v{{.Major}}.{{.Minor}}"
image_templates:
- "ghcr.io/go-task/task:v{{.Version}}-amd64"
- "ghcr.io/go-task/task:v{{.Version}}-arm64v8"
- name_template: "ghcr.io/go-task/task:v{{.Major}}"
image_templates:
- "ghcr.io/go-task/task:v{{.Version}}-amd64"
- "ghcr.io/go-task/task:v{{.Version}}-arm64v8"
- name_template: "ghcr.io/go-task/task:latest"
image_templates:
- "ghcr.io/go-task/task:v{{.Version}}-amd64"
- "ghcr.io/go-task/task:v{{.Version}}-arm64v8"
3 changes: 3 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
FROM scratch
COPY task /usr/local/bin/task
CMD ["/usr/local/bin/task"]
17 changes: 17 additions & 0 deletions website/docs/installation.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -196,6 +196,23 @@ If you want to install Task in GitHub Actions you can try using

This installation method is community owned.

### Docker

If you are building a Docker image that, among other utilities, must contain `task` as well, you can copy over both the binary as well as the appropriate Bash completion for your shell from the official `ghcr.io/go-task/task` Docker image:

:::info

The image is available only for `amd64` and `arm64v8` architectures and only for Task versions starting at v3.40.2.

:::

```Dockerfile
FROM ubuntu:22.04

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Back to the future... 🚀

Suggested change
FROM ubuntu:22.04
FROM ubuntu:24.04

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

At this point we might as well put latest as a tag rather than keep updating the example, I'd say.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Of course, it's just an example anyway. Convention is not to use latest, the user should override anyway.

# ...
COPY --from=ghcr.io/go-task/task:v3.40.2 /usr/local/bin/task /usr/local/bin/task

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's use the nice new "shortcut"

Suggested change
COPY --from=ghcr.io/go-task/task:v3.40.2 /usr/local/bin/task /usr/local/bin/task
COPY --from=ghcr.io/go-task/task /task /usr/local/bin/task

# ...
```

## Build From Source

### Go Modules
Expand Down