mirror of
https://github.com/goreleaser/goreleaser.git
synced 2025-02-01 13:07:49 +02:00
feat: allow signing only the source (#1552)
Signed-off-by: Yoan Blanc <yoan@dosimple.ch> Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com> Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
This commit is contained in:
parent
4cf79bf9c5
commit
a48ddc3828
@ -67,6 +67,11 @@ func (Pipe) Run(ctx *context.Context) error {
|
||||
if len(cfg.IDs) > 0 {
|
||||
log.Warn("when artifacts is `checksum`, `ids` has no effect. ignoring")
|
||||
}
|
||||
case "source":
|
||||
filters = append(filters, artifact.ByType(artifact.UploadableSourceArchive))
|
||||
if len(cfg.IDs) > 0 {
|
||||
log.Warn("when artifacts is `source`, `ids` has no effect. ignoring")
|
||||
}
|
||||
case "all":
|
||||
filters = append(filters, artifact.Or(
|
||||
artifact.ByType(artifact.UploadableArchive),
|
||||
|
@ -128,8 +128,8 @@ func TestSignArtifacts(t *testing.T) {
|
||||
},
|
||||
},
|
||||
),
|
||||
signaturePaths: []string{"artifact1.sig", "artifact2.sig", "artifact3.sig", "checksum.sig", "checksum2.sig", "linux_amd64/artifact4.sig"},
|
||||
signatureNames: []string{"artifact1.sig", "artifact2.sig", "artifact3_1.0.0_linux_amd64.sig", "checksum.sig", "checksum2.sig", "artifact4_1.0.0_linux_amd64.sig"},
|
||||
signaturePaths: []string{"artifact1.sig", "artifact2.sig", "artifact3.sig", "checksum.sig", "checksum2.sig", "linux_amd64/artifact4.sig", "artifact5.tar.gz.sig"},
|
||||
signatureNames: []string{"artifact1.sig", "artifact2.sig", "artifact3_1.0.0_linux_amd64.sig", "checksum.sig", "checksum2.sig", "artifact4_1.0.0_linux_amd64.sig", "artifact5.tar.gz.sig"},
|
||||
},
|
||||
{
|
||||
desc: "sign all artifacts",
|
||||
@ -142,8 +142,8 @@ func TestSignArtifacts(t *testing.T) {
|
||||
},
|
||||
},
|
||||
),
|
||||
signaturePaths: []string{"artifact1.sig", "artifact2.sig", "artifact3.sig", "checksum.sig", "checksum2.sig", "linux_amd64/artifact4.sig"},
|
||||
signatureNames: []string{"artifact1.sig", "artifact2.sig", "artifact3_1.0.0_linux_amd64.sig", "checksum.sig", "checksum2.sig", "artifact4_1.0.0_linux_amd64.sig"},
|
||||
signaturePaths: []string{"artifact1.sig", "artifact2.sig", "artifact3.sig", "checksum.sig", "checksum2.sig", "linux_amd64/artifact4.sig", "artifact5.tar.gz.sig"},
|
||||
signatureNames: []string{"artifact1.sig", "artifact2.sig", "artifact3_1.0.0_linux_amd64.sig", "checksum.sig", "checksum2.sig", "artifact4_1.0.0_linux_amd64.sig", "artifact5.tar.gz.sig"},
|
||||
},
|
||||
{
|
||||
desc: "multiple sign configs",
|
||||
@ -187,8 +187,8 @@ func TestSignArtifacts(t *testing.T) {
|
||||
},
|
||||
},
|
||||
),
|
||||
signaturePaths: []string{"artifact1.sig", "artifact3.sig", "checksum.sig", "checksum2.sig"},
|
||||
signatureNames: []string{"artifact1.sig", "artifact3_1.0.0_linux_amd64.sig", "checksum.sig", "checksum2.sig"},
|
||||
signaturePaths: []string{"artifact1.sig", "artifact3.sig", "checksum.sig", "checksum2.sig", "artifact5.tar.gz.sig"},
|
||||
signatureNames: []string{"artifact1.sig", "artifact3_1.0.0_linux_amd64.sig", "checksum.sig", "checksum2.sig", "artifact5.tar.gz.sig"},
|
||||
},
|
||||
{
|
||||
desc: "sign only checksums",
|
||||
@ -219,6 +219,20 @@ func TestSignArtifacts(t *testing.T) {
|
||||
signaturePaths: []string{"checksum.sig", "checksum2.sig"},
|
||||
signatureNames: []string{"checksum.sig", "checksum2.sig"},
|
||||
},
|
||||
{
|
||||
desc: "sign only source",
|
||||
ctx: context.New(
|
||||
config.Project{
|
||||
Signs: []config.Sign{
|
||||
{
|
||||
Artifacts: "source",
|
||||
},
|
||||
},
|
||||
},
|
||||
),
|
||||
signaturePaths: []string{"artifact5.tar.gz.sig"},
|
||||
signatureNames: []string{"artifact5.tar.gz.sig"},
|
||||
},
|
||||
{
|
||||
desc: "sign all artifacts with env",
|
||||
ctx: context.New(
|
||||
@ -241,8 +255,8 @@ func TestSignArtifacts(t *testing.T) {
|
||||
},
|
||||
},
|
||||
),
|
||||
signaturePaths: []string{"artifact1.sig", "artifact2.sig", "artifact3.sig", "checksum.sig", "checksum2.sig", "linux_amd64/artifact4.sig"},
|
||||
signatureNames: []string{"artifact1.sig", "artifact2.sig", "artifact3_1.0.0_linux_amd64.sig", "checksum.sig", "checksum2.sig", "artifact4_1.0.0_linux_amd64.sig"},
|
||||
signaturePaths: []string{"artifact1.sig", "artifact2.sig", "artifact3.sig", "checksum.sig", "checksum2.sig", "linux_amd64/artifact4.sig", "artifact5.tar.gz.sig"},
|
||||
signatureNames: []string{"artifact1.sig", "artifact2.sig", "artifact3_1.0.0_linux_amd64.sig", "checksum.sig", "checksum2.sig", "artifact4_1.0.0_linux_amd64.sig", "artifact5.tar.gz.sig"},
|
||||
},
|
||||
{
|
||||
desc: "sign all artifacts with template",
|
||||
@ -266,8 +280,8 @@ func TestSignArtifacts(t *testing.T) {
|
||||
},
|
||||
},
|
||||
),
|
||||
signaturePaths: []string{"artifact1.sig", "artifact2.sig", "artifact3.sig", "checksum.sig", "checksum2.sig", "linux_amd64/artifact4.sig"},
|
||||
signatureNames: []string{"artifact1.sig", "artifact2.sig", "artifact3_1.0.0_linux_amd64.sig", "checksum.sig", "checksum2.sig", "artifact4_1.0.0_linux_amd64.sig"},
|
||||
signaturePaths: []string{"artifact1.sig", "artifact2.sig", "artifact3.sig", "checksum.sig", "checksum2.sig", "linux_amd64/artifact4.sig", "artifact5.tar.gz.sig"},
|
||||
signatureNames: []string{"artifact1.sig", "artifact2.sig", "artifact3_1.0.0_linux_amd64.sig", "checksum.sig", "checksum2.sig", "artifact4_1.0.0_linux_amd64.sig", "artifact5.tar.gz.sig"},
|
||||
},
|
||||
}
|
||||
|
||||
@ -298,6 +312,8 @@ func testSign(t *testing.T, ctx *context.Context, signaturePaths []string, signa
|
||||
}
|
||||
assert.NoError(t, ioutil.WriteFile(filepath.Join(tmpdir, "linux_amd64", "artifact4"), []byte("foo"), 0644))
|
||||
artifacts = append(artifacts, "linux_amd64/artifact4")
|
||||
assert.NoError(t, ioutil.WriteFile(filepath.Join(tmpdir, "artifact5.tar.gz"), []byte("foo"), 0644))
|
||||
artifacts = append(artifacts, "artifact5.tar.gz")
|
||||
ctx.Artifacts.Add(&artifact.Artifact{
|
||||
Name: "artifact1",
|
||||
Path: filepath.Join(tmpdir, "artifact1"),
|
||||
@ -340,6 +356,11 @@ func testSign(t *testing.T, ctx *context.Context, signaturePaths []string, signa
|
||||
"ID": "foo3",
|
||||
},
|
||||
})
|
||||
ctx.Artifacts.Add(&artifact.Artifact{
|
||||
Name: "artifact5.tar.gz",
|
||||
Path: filepath.Join(tmpdir, "artifact5.tar.gz"),
|
||||
Type: artifact.UploadableSourceArchive,
|
||||
})
|
||||
|
||||
// configure the pipeline
|
||||
// make sure we are using the test keyring
|
||||
|
@ -58,13 +58,14 @@ signs:
|
||||
# checksum: only checksum file(s)
|
||||
# all: all artifacts
|
||||
# none: no signing
|
||||
# source: source archive
|
||||
#
|
||||
# defaults to `none`
|
||||
artifacts: all
|
||||
|
||||
# IDs of the artifacts to sign.
|
||||
# Defaults to all.
|
||||
# If `artifacts` is checksum, this fields has no effect.
|
||||
# If `artifacts` is checksum or source, this fields has no effect.
|
||||
ids:
|
||||
- foo
|
||||
- bar
|
||||
|
Loading…
x
Reference in New Issue
Block a user