-
-
Notifications
You must be signed in to change notification settings - Fork 883
feat: add blog post for remote taskfiles #2974
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
pd93
wants to merge
1
commit into
main
Choose a base branch
from
remote-taskfiles-blog
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+136
−1
Open
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,133 @@ | ||
| --- | ||
| title: Remote Taskfiles | ||
| author: pd93 | ||
| date: 2026-06-28 | ||
| outline: deep | ||
| editLink: false | ||
| --- | ||
|
|
||
| # Remote Taskfiles | ||
|
|
||
| <AuthorCard :author="$frontmatter.author" /> | ||
|
|
||
| It's finally time! After nearly 3 years as an experiment, we're excited to | ||
| announce that today, [remote Taskfiles][remote-taskfiles] have been made | ||
| generally available. No more setting flags or config to enable it. It is enabled | ||
| by default and will continue to work seamlessly with your existing remote | ||
| taskfiles. | ||
|
|
||
| [remote-taskfiles]: ../docs/remote-taskfiles.md | ||
|
|
||
| ## How did we get here? | ||
|
|
||
| We'll be the first to admit that it's taken a long time to get this stable, but | ||
| there's good reason for it. Remote taskfiles was the most upvoted feature | ||
| request and we wanted to get it right. Experiments allowed us to iterate slowly | ||
| and implement feedback without having to worry about releasing something that we | ||
| couldn't take back later. | ||
|
|
||
| We received a ton of feedback from you on the main issue thread and we're very | ||
| grateful for all the comments and suggestions as you've patiently waited for | ||
| something stable to land. | ||
|
|
||
| No substantial changes have been made to the API recently and the stream of | ||
| feedback has now slowed, so we feel that the time is right to move forwards with | ||
| it. | ||
|
|
||
| ## How do I use it? | ||
|
|
||
| We are aware that, despite the stability warnings, many of you are already using | ||
| remote taskfiles in production today. So, you'll be happy to hear that you do | ||
| not need to change anything going forwards! Once you've updated to the latest | ||
| version of Task (v3.53.0+), remote taskfiles will be enabled by default and you | ||
| can remove any config/flags that you previously used to enable it in your own | ||
| time. | ||
|
|
||
| If you are still using an environment variable/flag/config to enable it, you may | ||
| see a small warning appear that lets you know that this is no longer necessary. | ||
|
|
||
| For those that haven't used it before, here's a little taste of what you're now | ||
| able to do: | ||
|
|
||
| ### Using a remote Taskfile as an entrypoint | ||
|
|
||
| By default, Task will look for one of the supported file names on your local | ||
| filesystem. If you want to use a remote file instead, you can pass its URI into | ||
| the `--taskfile`/`-t` flag just like you would to specify a different local | ||
| file. For example: | ||
|
|
||
| ::: code-group | ||
|
|
||
| ```shell [HTTP/HTTPS] | ||
| $ task --taskfile https://raw.githubusercontent.com/go-task/task/main/website/src/public/Taskfile.yml | ||
| task: [hello] echo "Hello Task!" | ||
| Hello Task! | ||
| ``` | ||
|
|
||
| ```shell [Git over HTTP] | ||
| $ task --taskfile https://github.com/go-task/task.git//website/src/public/Taskfile.yml?ref=main | ||
| task: [hello] echo "Hello Task!" | ||
| Hello Task! | ||
| ``` | ||
|
|
||
| ```shell [Git over SSH] | ||
| $ task --taskfile git@github.com/go-task/task.git//website/src/public/Taskfile.yml?ref=main | ||
| task: [hello] echo "Hello Task!" | ||
| Hello Task! | ||
| ``` | ||
|
|
||
| ::: | ||
|
|
||
| For testing purposes, we host an example Taskfile at | ||
| [taskfile.dev/Taskfile.yml](https://taskfile.dev/Taskfile.yml) that you can use | ||
| to try this out. This is useful to check that your installation of task is | ||
| working. | ||
|
|
||
| ```shell | ||
| $ task --taskfile https://taskfile.dev/Taskfile.yml | ||
| # Or for short | ||
| $ task -t https://taskfile.dev | ||
| ``` | ||
|
|
||
| ### Including remote Taskfiles | ||
|
|
||
| Including a remote file works exactly the same way that including a local file | ||
| does. You just need to replace the local path with a remote URI. Any tasks in | ||
| the remote Taskfile will be available to run from your main Taskfile. | ||
|
|
||
| ::: code-group | ||
|
|
||
| ```yaml [HTTP/HTTPS] | ||
| version: '3' | ||
|
|
||
| includes: | ||
| my-remote-namespace: https://raw.githubusercontent.com/go-task/task/main/website/src/public/Taskfile.yml | ||
| ``` | ||
|
|
||
| ```yaml [Git over HTTP] | ||
| version: '3' | ||
|
|
||
| includes: | ||
| my-remote-namespace: https://github.com/go-task/task.git//website/src/public/Taskfile.yml?ref=main | ||
| ``` | ||
|
|
||
| ```yaml [Git over SSH] | ||
| version: '3' | ||
|
|
||
| includes: | ||
| my-remote-namespace: git@github.com/go-task/task.git//website/src/public/Taskfile.yml?ref=main | ||
| ``` | ||
|
|
||
| ::: | ||
|
|
||
| ```shell | ||
| $ task my-remote-namespace:hello | ||
| task: [hello] echo "Hello Task!" | ||
| Hello Task! | ||
| ``` | ||
|
|
||
| ## Further reading | ||
|
|
||
| To learn more, you can check out our | ||
| [brand new documentation for remote Taskfiles](../docs/remote-taskfiles.md). | ||
| Make sure you're running v3.53.0+ before you get started. | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't understand how it works. Where is stored the Taskfile ?
Maybe something is missing in the
public/_headers?Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The example Taskfile is in our version control: https://github.com/go-task/task/blob/main/website/src/public/Taskfile.yml. I've just double checked this example and it works fine for me.
That file is also available via https://taskfile.dev/Taskfile.yml. The new
_headersfile is so that when you click that link, Netlify would give the correct content type so you can view it in the browser rather than it trying to download it.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oops I think I have a bad configuration in my shell