.goreleaser.yaml 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  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