From de6eeb90cf6ffb7ac1d1521f9f60b900b82942db Mon Sep 17 00:00:00 2001 From: Jon Langevin Date: Mon, 25 May 2026 02:09:58 -0400 Subject: [PATCH] fix(release): stage plugin.json in /tmp not dist/ (avoid goreleaser --clean conflict) Was: before-hooks did 'mkdir -p dist + cp plugin.json dist/...' which fights goreleaser's --clean step (cleans dist before hooks run, hooks recreate it, goreleaser later fails with 'dist is not empty'). Now: stage into /tmp/release-stage. archives.files references /tmp/release-stage/plugin.json. goreleaser owns dist/ exclusively. Resolves #16. --- .goreleaser.yaml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.goreleaser.yaml b/.goreleaser.yaml index 40b06f9..3562bb1 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -2,12 +2,12 @@ version: 2 before: hooks: - - "mkdir -p dist" - - "cp plugin.json dist/plugin.json" - - "cp plugin.contracts.json dist/plugin.contracts.json" - - "sed -i.bak 's/\"version\": \".*\"/\"version\": \"{{ .Version }}\"/' dist/plugin.json && rm -f dist/plugin.json.bak" - - "sed -i.bak 's|/releases/download/v[^/]*/|/releases/download/v{{ .Version }}/|g' dist/plugin.json && rm -f dist/plugin.json.bak" - - "go run github.com/GoCodeAlone/workflow/cmd/wfctl@v0.51.7 plugin validate --file dist/plugin.json --strict-contracts" + - "rm -rf /tmp/release-stage && mkdir -p /tmp/release-stage" + - "cp plugin.json /tmp/release-stage/plugin.json" + - "cp plugin.contracts.json /tmp/release-stage/plugin.contracts.json" + - "sed -i.bak 's/\"version\": \".*\"/\"version\": \"{{ .Version }}\"/' /tmp/release-stage/plugin.json && rm -f /tmp/release-stage/plugin.json.bak" + - "sed -i.bak 's|/releases/download/v[^/]*/|/releases/download/v{{ .Version }}/|g' /tmp/release-stage/plugin.json && rm -f /tmp/release-stage/plugin.json.bak" + - "go run github.com/GoCodeAlone/workflow/cmd/wfctl@v0.51.7 plugin validate --file /tmp/release-stage/plugin.json --strict-contracts" builds: - main: ./cmd/{{ .ProjectName }} @@ -27,7 +27,7 @@ archives: - formats: [tar.gz] name_template: "{{ .ProjectName }}-{{ .Os }}-{{ .Arch }}" files: - - src: dist/plugin.json + - src: /tmp/release-stage/plugin.json dst: plugin.json - plugin.contracts.json