.goreleaser.yaml raw

   1  before:
   2    hooks:
   3      - go mod tidy
   4      - go fmt ./...
   5      - go test ./...
   6  builds:
   7    - id: tomll
   8      main: ./cmd/tomll
   9      binary: tomll
  10      env:
  11        - CGO_ENABLED=0
  12      flags:
  13        - -trimpath
  14      ldflags:
  15        - -X main.version={{.Version}} -X main.commit={{.Commit}} -X main.date={{.CommitDate}}
  16      mod_timestamp: '{{ .CommitTimestamp }}'
  17      targets:
  18        - linux_amd64
  19        - linux_arm64
  20        - linux_arm
  21        - linux_riscv64
  22        - windows_amd64
  23        - windows_arm64
  24        - windows_arm
  25        - darwin_amd64
  26        - darwin_arm64
  27    - id: tomljson
  28      main: ./cmd/tomljson
  29      binary: tomljson
  30      env:
  31        - CGO_ENABLED=0
  32      flags:
  33        - -trimpath
  34      ldflags:
  35        - -X main.version={{.Version}} -X main.commit={{.Commit}} -X main.date={{.CommitDate}}
  36      mod_timestamp: '{{ .CommitTimestamp }}'
  37      targets:
  38        - linux_amd64
  39        - linux_arm64
  40        - linux_arm
  41        - linux_riscv64
  42        - windows_amd64
  43        - windows_arm64
  44        - windows_arm
  45        - darwin_amd64
  46        - darwin_arm64
  47    - id: jsontoml
  48      main: ./cmd/jsontoml
  49      binary: jsontoml
  50      env:
  51        - CGO_ENABLED=0
  52      flags:
  53        - -trimpath
  54      ldflags:
  55        - -X main.version={{.Version}} -X main.commit={{.Commit}} -X main.date={{.CommitDate}}
  56      mod_timestamp: '{{ .CommitTimestamp }}'
  57      targets:
  58        - linux_amd64
  59        - linux_arm64
  60        - linux_riscv64
  61        - linux_arm
  62        - windows_amd64
  63        - windows_arm64
  64        - windows_arm
  65        - darwin_amd64
  66        - darwin_arm64
  67  universal_binaries:
  68    - id: tomll
  69      replace: true
  70      name_template: tomll
  71    - id: tomljson
  72      replace: true
  73      name_template: tomljson
  74    - id: jsontoml
  75      replace: true
  76      name_template: jsontoml
  77  archives:
  78  - id: jsontoml
  79    format: tar.xz
  80    builds:
  81      - jsontoml
  82    files:
  83    - none*
  84    name_template: "{{ .Binary }}_{{.Version}}_{{ .Os }}_{{ .Arch }}"
  85  - id: tomljson
  86    format: tar.xz
  87    builds:
  88      - tomljson
  89    files:
  90    - none*
  91    name_template: "{{ .Binary }}_{{.Version}}_{{ .Os }}_{{ .Arch }}"
  92  - id: tomll
  93    format: tar.xz
  94    builds:
  95      - tomll
  96    files:
  97    - none*
  98    name_template: "{{ .Binary }}_{{.Version}}_{{ .Os }}_{{ .Arch }}"
  99  dockers:
 100    - id: tools
 101      goos: linux
 102      goarch: amd64
 103      ids:
 104        - jsontoml
 105        - tomljson
 106        - tomll
 107      image_templates:
 108        - "ghcr.io/pelletier/go-toml:latest"
 109        - "ghcr.io/pelletier/go-toml:{{ .Tag }}"
 110        - "ghcr.io/pelletier/go-toml:v{{ .Major }}"
 111      skip_push: false
 112  checksum:
 113    name_template: 'sha256sums.txt'
 114  snapshot:
 115    name_template: "{{ incpatch .Version }}-next"
 116  release:
 117    github:
 118      owner: pelletier
 119      name: go-toml
 120    draft: true
 121    prerelease: auto
 122    mode: replace
 123  changelog:
 124    use: github-native
 125  announce:
 126    skip: true
 127