Skip to content
edgesync Artifact [460ac6cfb4]
Login

Artifact [460ac6cfb4]

Artifact 460ac6cfb4b9b258498c65d1408a25fdc39a89def93d66859de4e848c0d35369:


# 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
  groups:
    - title: 'Features'
      regexp: '^.*?feat(\(.+\))??!?:.+$'
      order: 0
    - title: 'Bug fixes'
      regexp: '^.*?fix(\(.+\))??!?:.+$'
      order: 1
    - title: 'Other'
      order: 999
  filters:
    exclude:
      - '^docs:'
      - '^chore:'
      - '^test:'
      - '^ci:'
      - 'merge conflict'
      - 'Merge PR'
      - '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"