Skip to content

Commit 69dcaff

Browse files
aksOpsclaude
andcommitted
fix(release): make README.md / CHANGELOG.md optional in archive bundling
The .goreleaser.yml `files:` entries were bare filenames (`README.md`, `CHANGELOG.md`) which goreleaser treats as required: globbing fails hard when the file doesn't exist: globbing failed for pattern README.md: matching "./README.md": file does not exist This bit v0.4.2 — every release would fail after #168 wiped the docs until the new reference docs land. Switch each bare filename to a glob (`README.md*`, `CHANGELOG.md*`). Goreleaser silently skips patterns that match zero files. The trailing `*` matches the file when present and nothing when absent — gracefully covering both "docs landed" and "docs not yet rewritten" states. `LICENSE*` already used this pattern. No behavior change when a README is present. `release-darwin.yml` already wraps its `cp` commands in `|| true`, so it was unaffected — only goreleaser-side bundling broke. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1 parent 61230ae commit 69dcaff

1 file changed

Lines changed: 7 additions & 2 deletions

File tree

.goreleaser.yml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,10 +62,15 @@ archives:
6262
formats: [tar.gz]
6363
name_template: >-
6464
{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}
65+
# Each entry is a glob; goreleaser silently skips patterns that match
66+
# zero files. The bare `README.md` / `CHANGELOG.md` form would hard-fail
67+
# when the file is absent (docs were wiped in #168 ahead of a clean
68+
# reference-docs rewrite). The `*` suffix turns each into a glob that
69+
# matches the file when present and nothing when absent.
6570
files:
6671
- LICENSE*
67-
- README.md
68-
- CHANGELOG.md
72+
- README.md*
73+
- CHANGELOG.md*
6974
checksum:
7075
name_template: 'checksums.sha256'
7176
algorithm: sha256

0 commit comments

Comments
 (0)