You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have a config that specifies two different builds of the same binary (one with full capabilities and one with limited capabiities). When I use universal_binaries with two different ids, referencing the two different build ids, but with the same name_template the file paths clash. The result is that one binary overwrites the other and that I get two archives with the same build in it (the one that was specified last).
Will result in two universal binary artifacts, one named full and one named limited, with both only the limited binary in it. You can see why this is happening in the output of goreleaser:
• universal binaries
• creating from 2 binaries binary=dist/cli_darwin_all/cli
• creating from 2 binaries binary=dist/cli_darwin_all/cli
How can we reproduce this?
Take any two builds and create two respective universal binary ids for them. Then give them the same name_template.
goreleaser version
1.8.3
GoReleaser Check
goreleaser check shows no errors
Search
I did search for other open and closed issues before opening this.
- on universal binaries, use the build id instead of the binary name to
create the folder in the dist folder
- on builds, default the id the to the binary name instead of project
name. The binary name already defaults to the project id if empty, so
this should only prevent having to specify the id + binary name in
some cases.
closes#3061
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
- on universal binaries, use the build id instead of the binary name to
create the folder in the dist folder
- on builds, default the id the to the binary name instead of project
name. The binary name already defaults to the project id if empty, so
this should only prevent having to specify the id + binary name in
some cases.
closes#3061
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
What happened?
I have a config that specifies two different builds of the same binary (one with full capabilities and one with limited capabiities). When I use
universal_binaries
with two different ids, referencing the two different build ids, but with the samename_template
the file paths clash. The result is that one binary overwrites the other and that I get two archives with the same build in it (the one that was specified last).E.g.:
Will result in two universal binary artifacts, one named full and one named limited, with both only the limited binary in it. You can see why this is happening in the output of
goreleaser
:How can we reproduce this?
Take any two builds and create two respective universal binary ids for them. Then give them the same
name_template
.goreleaser version
GoReleaser Check
Search
Code of Conduct
Additional context
I've narrowed this down to:
https://github.com/goreleaser/goreleaser/blob/02595554de30243792f4ec803338258e23bf5702/internal/pipe/universalbinary/universalbinary.go
Line 143 says:
path := filepath.Join(ctx.Config.Dist, name+"_darwin_all", name)
I believe it should say
path := filepath.Join(ctx.Config.Dist, unibin.Id +"_darwin_all", name)
The text was updated successfully, but these errors were encountered: