mirror of
https://github.com/go-task/task.git
synced 2024-12-14 10:52:43 +02:00
a2c58415cf
The GitHub Actions action for installing Task has graduated from its original home in the experimental `arduino/action` repository with a move to a dedicated permanent repository at `arduino/setup-task`. This move was accompanied by significant upgrades to the project infrastructure to facilitate its maintenance and quality assurance. A 1.0.0 release has been made and a `v1` ref that will track all releases in the major version 1 series. I have updated the example snippet to use this `v1 ref because this will cause the user's workflows to use stable release versions of the action while also benefiting from ongoing development to the action at each patch or minor release up until such time as a new major release is made. At this time the user will be given the opportunity to evaluate whether any changes to the workflow are required by the breaking change to the action that triggered the major release before manually updating the major ref in the workflows (e.g., `uses: arduino/setup-task@v2`). |
||
---|---|---|
.. | ||
_sidebar.md | ||
.nojekyll | ||
CNAME | ||
community.md | ||
donate.md | ||
favicon.ico | ||
index.html | ||
install.sh | ||
installation.md | ||
Logo.png | ||
README.md | ||
releasing_task.md | ||
styleguide.md | ||
taskfile_versions.md | ||
Taskfile.yml | ||
usage.md |
Task
Task is a task runner / build tool that aims to be simpler and easier to use than, for example, GNU Make.
Since it's written in Go, Task is just a single binary and has no other dependencies, which means you don't need to mess with any complicated install setups just to use a build tool.
Once installed, you just need to describe your build tasks
using a simple YAML schema in a file called Taskfile.yml
:
version: '3'
tasks:
hello:
cmds:
- echo 'Hello World from Task!'
silent: true
And call it by running task hello
from you terminal.
The above example is just the start, you can take a look at the usage guide to check the full schema documentation and Task features.
Features
- Easy installation: just download a single binary, add to $PATH and you're done! Or you can also install using Homebrew, Snapcraft, or Scoop if you want;
- Available on CIs: by adding this simple command to install on your CI script and you're done to use Task as part of your CI pipeline;
- Truly cross-platform: while most build tools only work well on Linux or macOS, Task also supports Windows thanks to this awesome shell interpreter for Go;
- Great for code generation: you can easily prevent a task from running if a given set of files haven't changed since last run (based either on its timestamp or content).