Compare commits

...

6 Commits

Author SHA1 Message Date
Andrey Nering
aa83651da2 v3.49.1 2026-03-08 17:01:25 -03:00
Andrey Nering
4ddad9f9f7 Revert "fix: Call ReplaceVars() to resolve Ref's for imported global vars." (#2723) 2026-03-08 20:00:12 +00:00
Jannis
080ee8869f docs: schema: add tasks.task.method (#2718) 2026-03-08 11:45:27 +01:00
Andrey Nering
af943b064b ci: fix netlify prod deploy after release 2026-03-07 20:02:53 -03:00
Andrey Nering
962eada344 docs: update releasing guide
We have now more package managers being released automatically by
GoReleaser. Only Snapcraft still require manual steps.
2026-03-07 19:42:03 -03:00
Andrey Nering
a0d9750edf docs(changelog): fix case: git -> Git 2026-03-07 19:26:22 -03:00
10 changed files with 38 additions and 72 deletions

View File

@@ -55,3 +55,5 @@ jobs:
shell: bash shell: bash
run: | run: |
task website:deploy:prod task website:deploy:prod
env:
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}

View File

@@ -6,7 +6,7 @@
called from the root Taskfile (#2686, #1763 by @trulede). called from the root Taskfile (#2686, #1763 by @trulede).
- Fixed Remote Git Taskfiles failing on Windows due to backslashes in URL paths - Fixed Remote Git Taskfiles failing on Windows due to backslashes in URL paths
(#2656 by @Trim21). (#2656 by @Trim21).
- Fixed remote git Taskfiles timing out when resolving includes after accepting - Fixed remote Git Taskfiles timing out when resolving includes after accepting
the trust prompt (#2669, #2668 by @vmaerten). the trust prompt (#2669, #2668 by @vmaerten).
- Fixed unclear error message when Taskfile search stops at a directory - Fixed unclear error message when Taskfile search stops at a directory
ownership boundary (#2682, #1683 by @trulede). ownership boundary (#2682, #1683 by @trulede).

View File

@@ -114,9 +114,6 @@ func (c *Compiler) getVariables(t *ast.Task, call *Call, evaluateShVars bool) (*
return nil, err return nil, err
} }
} }
// Resolve any outstanding 'Ref' values in global vars (esp. globals from imported Taskfiles).
c.TaskfileVars = templater.ReplaceVars(c.TaskfileVars, &templater.Cache{Vars: result})
if t != nil { if t != nil {
for k, v := range t.IncludeVars.All() { for k, v := range t.IncludeVars.All() {
if err := rangeFunc(k, v); err != nil { if err := rangeFunc(k, v); err != nil {

View File

@@ -927,10 +927,6 @@ func TestReference(t *testing.T) {
name: "reference using templating resolver and dynamic var", name: "reference using templating resolver and dynamic var",
call: "ref-resolver-sh", call: "ref-resolver-sh",
}, },
{
name: "reference using templating resolver and global var",
call: "ref-global",
},
} }
for _, test := range tests { for _, test := range tests {

View File

@@ -1 +1 @@
3.49.0 3.49.1

View File

@@ -2,9 +2,6 @@ version: '3'
vars: vars:
GLOBAL_VAR: [1, 2, 2, 2, 3, 3, 4, 5] GLOBAL_VAR: [1, 2, 2, 2, 3, 3, 4, 5]
GLOBAL_FOO:
ref: .GLOBAL_BAR
GLOBAL_BAR: bar
tasks: tasks:
default: default:
@@ -12,7 +9,6 @@ tasks:
- task: ref-dep - task: ref-dep
- task: ref-resolver - task: ref-resolver
- task: ref-resolver-sh - task: ref-resolver-sh
- task: ref-global
ref-cmd: ref-cmd:
vars: vars:
@@ -76,13 +72,3 @@ tasks:
{{- else}} and {{$child.name -}} {{- else}} and {{$child.name -}}
{{- end -}} {{- end -}}
{{- end -}}" {{- end -}}"
ref-global:
vars:
TASK_FUBAR:
ref: .GLOBAL_FOO
cmds:
- echo "GLOBAL_FOO={{.GLOBAL_FOO}}"
- echo "GLOBAL_BAR={{.GLOBAL_BAR}}"
- echo "TASK_FUBAR={{.TASK_FUBAR}}"
silent: true

View File

@@ -1,3 +0,0 @@
GLOBAL_FOO=bar
GLOBAL_BAR=bar
TASK_FUBAR=bar

View File

@@ -14,7 +14,7 @@ editLink: false
called from the root Taskfile (#2686, #1763 by @trulede). called from the root Taskfile (#2686, #1763 by @trulede).
- Fixed Remote Git Taskfiles failing on Windows due to backslashes in URL paths - Fixed Remote Git Taskfiles failing on Windows due to backslashes in URL paths
(#2656 by @Trim21). (#2656 by @Trim21).
- Fixed remote git Taskfiles timing out when resolving includes after accepting - Fixed remote Git Taskfiles timing out when resolving includes after accepting
the trust prompt (#2669, #2668 by @vmaerten). the trust prompt (#2669, #2668 by @vmaerten).
- Fixed unclear error message when Taskfile search stops at a directory - Fixed unclear error message when Taskfile search stops at a directory
ownership boundary (#2682, #1683 by @trulede). ownership boundary (#2682, #1683 by @trulede).

View File

@@ -543,6 +543,21 @@ tasks:
- go build ./... - go build ./...
``` ```
#### `method`
- **Type**: `string`
- **Default**: `checksum`
- **Options**: `checksum`, `timestamp`, `none`
- **Description**: Method for checking if the task is up-to-date. Refer to the `method` root property for details.
```yaml
tasks:
build:
sources:
- go.mod
method: timestamp
```
#### `sources` #### `sources`
- **Type**: `[]string` or `[]Glob` - **Type**: `[]string` or `[]Glob`

View File

@@ -16,59 +16,32 @@ the Taskfile.
artifacts automatically when a new Git tag is pushed to `main` branch (raw artifacts automatically when a new Git tag is pushed to `main` branch (raw
executables and DEB and RPM packages). executables and DEB and RPM packages).
Since v3.15.0, raw executables can also be reproduced and verified locally by Raw executables can also be reproduced and verified locally by
checking out a specific tag and calling `goreleaser build`, using the Go version checking out a specific tag and calling `goreleaser build`, using the Go version
defined in the above GitHub Actions. defined in the above GitHub Actions.
## Homebrew ## Package managers
Goreleaser will automatically push a new commit to the GoReleaser will automatically publish the release to most package managers:
[Formula/go-task.rb][gotaskrb] file in the [Homebrew tap][homebrewtap]
repository to release the new version.
## npm * Cloudsmith (DEB and RPM repositories)
* Homebrew
* npm
* winget
To release to npm update the version in the [`package.json`][packagejson] file A single package manager still require manual steps:
and then run `task npm:publish` to push it.
## Snapcraft * Snapcraft:
* Update the `version:` field on [snapcraft.yaml][snapcraftyaml]
<!-- * Trigger a new build on [Snapcraft -> Builds][snapcraftbuilds] -->
* Once finished, move the new build to "stable" on [Snapcraft -> Releases][snapcraftreleases]
The [snap package][snappackage] requires to manual steps to release a new These package managers are updated automatically by the community:
version:
- Updating the current version on [snapcraft.yaml][snapcraftyaml]. * [Scoop](https://github.com/ScoopInstaller/Main/blob/master/bucket/task.json)
- Moving both `amd64`, `armhf` and `arm64` new artifacts to the stable channel * [Nix](https://github.com/NixOS/nixpkgs/blob/master/pkgs/by-name/go/go-task/package.nix)
on the [Snapcraft dashboard][snapcraftdashboard].
## winget
winget also requires manual steps to be completed. By running
`task goreleaser:test` locally, manifest files will be generated on
`dist/winget/manifests/t/Task/Task/v{version}`.
[Upload the manifest directory into this fork](https://github.com/go-task/winget-pkgs/tree/master/manifests/t/Task/Task)
and open a pull request into
[this repository](https://github.com/microsoft/winget-pkgs).
## Scoop
Scoop is a command-line package manager for the Windows operating system. Scoop
package manifests are maintained by the community. Scoop owners usually take
care of updating versions there by editing
[this file](https://github.com/ScoopInstaller/Main/blob/master/bucket/task.json).
If you think its Task version is outdated, open an issue to let us know.
## Nix
Nix is a community owned installation method. Nix package maintainers usually
take care of updating versions there by editing
[this file](https://github.com/NixOS/nixpkgs/blob/master/pkgs/by-name/go/go-task/package.nix).
If you think its Task version is outdated, open an issue to let us know.
[goreleaser]: https://goreleaser.com/ [goreleaser]: https://goreleaser.com/
[homebrewtap]: https://github.com/go-task/homebrew-tap [snapcraftyaml]: https://github.com/go-task/snap/blob/main/snap/snapcraft.yaml#L2
[gotaskrb]: https://github.com/go-task/homebrew-tap/blob/main/Formula/go-task.rb [snapcraftbuilds]: https://snapcraft.io/task/builds
[packagejson]: https://github.com/go-task/task/blob/main/package.json#L3 [snapcraftreleases]: https://snapcraft.io/task/releases
[snappackage]: https://github.com/go-task/snap
[snapcraftyaml]:
https://github.com/go-task/snap/blob/main/snap/snapcraft.yaml#L2
[snapcraftdashboard]: https://snapcraft.io/task/releases