Files
filepuff-mcp/.goreleaser.yaml
T

150 lines
3.2 KiB
YAML

# yaml-language-server: $schema=https://goreleaser.com/static/schema.json
# vim: set ts=2 sw=2 tw=0 fo=cnqoj
version: 2
project_name: mcp-filepuff
# Split CGO builds by full target (GOOS+GOARCH), not just GOOS.
# Each release matrix runner builds natively for exactly one target via the
# GGOOS/GGOARCH filters set in workflow-prepare.sh. Without `by: target` the
# split partitions by GOOS only, so a single linux runner would try to build
# both amd64 and arm64 — and native gcc cannot assemble the other arch's CGO
# runtime (gcc_arm64.S errors), breaking the release.
partial:
by: target
before:
hooks:
- go mod tidy
- go generate ./...
builds:
- id: mcp-filepuff-cgo
main: ./cmd/mcp-filepuff
binary: mcp-filepuff
env:
- CGO_ENABLED=1
flags:
- -trimpath
ldflags:
- -s -w
- -X main.version={{.Version}}
- -X main.commit={{.Commit}}
- -X main.date={{.Date}}
goos:
- linux
- darwin
- windows
goarch:
- amd64
- arm64
ignore:
- goos: windows
goarch: arm64
archives:
- id: default
formats:
- tar.gz
name_template: >-
{{ .ProjectName }}_
{{- .Version }}_
{{- .Os }}_
{{- .Arch }}
files:
- LICENSE
- README.md
format_overrides:
- goos: windows
formats:
- zip
checksum:
name_template: 'checksums.txt'
snapshot:
version_template: "{{ incpatch .Version }}-next"
changelog:
sort: asc
filters:
exclude:
- '^docs:'
- '^test:'
- '^chore:'
- Merge pull request
- Merge branch
release:
github:
owner: lukaszraczylo
name: filepuff-mcp
draft: false
prerelease: auto
name_template: "v{{.Version}}"
header: |
## MCP Filepuff v{{.Version}}
AST-aware file operations and LSP integration for Claude Code.
### Installation
```bash
curl -sSL https://raw.githubusercontent.com/lukaszraczylo/filepuff-mcp/main/scripts/install.sh | bash
```
homebrew_casks:
- name: mcp-filepuff
repository:
owner: lukaszraczylo
name: homebrew-taps
token: "{{ .Env.HOMEBREW_TAP_TOKEN }}"
directory: Casks
homepage: https://github.com/lukaszraczylo/filepuff-mcp
description: "AST-aware file operations and LSP integration MCP server for Claude Code"
license: MIT
hooks:
post:
install: |
if OS.mac?
system_command "/usr/bin/xattr",
args: ["-dr", "com.apple.quarantine", "#{staged_path}/mcp-filepuff"]
end
dockers:
- image_templates:
- "ghcr.io/lukaszraczylo/filepuff-mcp:{{ .Tag }}"
- "ghcr.io/lukaszraczylo/filepuff-mcp:latest"
ids:
- mcp-filepuff-cgo
use: buildx
build_flag_templates:
- "--platform=linux/amd64"
goarch: amd64
goos: linux
dockerfile: Dockerfile
signs:
- cmd: cosign
signature: "${artifact}.sigstore.json"
args:
- sign-blob
- "--bundle=${signature}"
- "${artifact}"
- "--yes"
artifacts: checksum
output: true
docker_signs:
- cmd: cosign
artifacts: manifests
output: true
args:
- "sign"
- "--yes"
- "${artifact}"