.goreleaser.yaml 2.6 KB

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