Artifact 38a1c5277365b0450971d5c6c0a6c7ca4d896e57469e25fb62dd4f9c36c883fb:
- File
.goreleaser.yml
— part of check-in
[176fae9490]
at
2026-04-28 00:00:11
on branch trunk
— release: GoReleaser config + tag-push workflow + edgesync --version
Cross-compile edgesync for darwin/linux × amd64/arm64, archive as tarballs, generate checksums, publish a GitHub release, and update the Homebrew formula at danmestas/homebrew-tap on every git tag matching v*.
Mirrors the bones release pipeline (PRs danmestas/bones#25, #26).
Files: - .goreleaser.yml — build matrix, archive shape, brews stanza pointing at danmestas/homebrew-tap, ldflags for version injection. - .github/workflows/release.yml — runs on tag push, sets up Go 1.26.0, calls goreleaser-action@v6 with `release --clean`. Needs HOMEBREW_PAT_TOKEN secret on this repo (PAT with contents:write on danmestas/homebrew-tap). - cmd/edgesync/main.go — version/commit/date package vars filled by ldflags. `edgesync --version` and `-V` short-circuit before Kong (avoids collision with `repo extract --version` sub-flag).
After merge: 1. Add HOMEBREW_PAT_TOKEN secret to this repo. 2. Tag v0.0.6 and push — release workflow takes it from there. 3. Verify: brew install danmestas/tap/edgesync. (user: [email protected], size: 2274) [annotate] [blame] [check-ins using] [more...]
# GoReleaser config for edgesync. # https://goreleaser.com # # Cross-compiles edgesync for macOS and Linux on amd64/arm64, archives # as tarballs, generates checksums, publishes a GitHub release, and # updates the Homebrew formula in danmestas/homebrew-tap. version: 2 before: hooks: - go mod tidy builds: - id: edgesync main: ./cmd/edgesync binary: edgesync env: - CGO_ENABLED=0 flags: - -trimpath - -buildvcs=false ldflags: - -s -w - -X main.version={{.Version}} - -X main.commit={{.ShortCommit}} - -X main.date={{.CommitDate}} goos: - linux - darwin goarch: - amd64 - arm64 archives: - id: edgesync formats: [tar.gz] name_template: >- {{ .ProjectName }}_ {{- .Version }}_ {{- .Os }}_ {{- if eq .Arch "amd64" }}x86_64 {{- else }}{{ .Arch }}{{ end }} files: - LICENSE* - README* checksum: name_template: 'checksums.txt' algorithm: sha256 snapshot: version_template: "{{ incpatch .Version }}-next" changelog: sort: asc use: github filters: exclude: - '^docs:' - '^chore:' - '^test:' - 'merge conflict' - Merge pull request - Merge remote-tracking branch - Merge branch release: github: owner: danmestas name: EdgeSync draft: false prerelease: auto name_template: "{{.ProjectName}} v{{.Version}}" footer: | **Full Changelog**: https://github.com/danmestas/EdgeSync/compare/{{ .PreviousTag }}...{{ .Tag }} ## Install ### Homebrew (macOS / Linux) ```bash brew install danmestas/tap/edgesync ``` ### Go ```bash go install github.com/danmestas/EdgeSync/cmd/edgesync@{{ .Tag }} ``` ### Direct download Pick a binary from the assets above for your OS/arch. brews: - name: edgesync repository: owner: danmestas name: homebrew-tap token: "{{ .Env.HOMEBREW_PAT_TOKEN }}" directory: Formula homepage: https://github.com/danmestas/EdgeSync description: "Sync engine for distributed teams: NATS messaging or peer-to-peer Fossil sync." license: Apache-2.0 install: | bin.install "edgesync" test: | system "#{bin}/edgesync --version"