forked from wangyoucao577/go-release-action
-
Notifications
You must be signed in to change notification settings - Fork 0
/
action.yml
153 lines (150 loc) · 4.57 KB
/
action.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
# action.yml
name: 'Go Release Binaries'
author: 'Jay Zhang <wangyoucao577@gmail.com>'
description: 'Build and Release Go Binaries to GitHub Release Assets'
inputs:
github_token:
description: 'GITHUB_TOKEN for uploading releases to Github asserts.'
required: true
default: ''
goos:
description: 'GOOS is the running programs operating system target: one of darwin, freebsd, linux, and so on.'
required: true
default: ''
goarch:
description: 'GOARCH is the running programs architecture target: one of 386, amd64, arm, s390x, loong64 and so on.'
required: true
default: ''
goamd64:
description: 'GOAMD64 is the running programs amd64 microarchitecture level: one of v1, v2, v3, v4.'
required: false
default: ''
goarm:
description: 'GOARM is the running programs arm microarchitecture level: ARMv5,ARMv6,ARMv7'
required: false
default: ''
gomips:
description: 'GOMIPS is the running programs mips microarchitecture level: hardfloat,softfloat'
required: false
default: ''
goversion:
description: 'The `Go` compiler version.'
required: false
default: ''
build_flags:
description: 'Additional arguments to pass the go build command.'
required: false
default: ''
ldflags:
description: 'Values to provide to the -ldflags argument'
required: false
default: ''
project_path:
description: 'Where to run `go build .`'
required: false
default: '.'
binary_name:
description: 'Specify another binary name if do not want to use repository basename'
required: false
default: ''
pre_command:
description: 'Extra command that will be executed before `go build`, may for solving dependency'
required: false
default: ''
build_command:
description: 'The actual command to build binary, typically `go build`.'
required: false
default: 'go build'
executable_compression:
description: 'Compression executable binary by some third-party tools. Only `upx` is supported at the moment.'
required: false
default: ''
extra_files:
description: 'Extra files that will be packaged into artifacts either.'
required: false
default: ''
md5sum:
description: 'Publish `.md5` along with artifacts.'
required: false
default: 'TRUE'
sha256sum:
description: 'Publish `.sha256` along with artifacts.'
required: false
default: 'FALSE'
release_tag:
description: 'Upload binaries to specified release page that indicated by Git tag.'
required: false
default: ''
release_name:
description: 'Upload binaries to specified release page that indicated by release name.'
required: false
default: ''
release_repo:
description: 'Repository to upload the binaries'
required: false
default: ''
overwrite:
description: "Overwrite asset if it's already exist."
required: false
default: 'FALSE'
asset_name:
description: 'Customize asset name if do not want to use the default format.'
required: false
default: ''
retry:
description: 'How many times retrying if upload fails.'
required: false
default: '3'
post_command:
description: 'Extra command that will be executed for teardown work'
required: false
default: ''
compress_assets:
description: 'Compress assets before uploading'
required: false
default: 'TRUE'
upload:
description: 'Upload release assets or not'
required: false
default: 'TRUE'
multi_binaries:
description: 'Build and package multiple binaries together'
required: false
default: 'FALSE'
outputs:
release_asset_dir:
description: 'Release file directory provided for use by other workflows'
runs:
using: 'docker'
image: 'Dockerfile'
args:
- ${{ inputs.github_token }}
- ${{ inputs.goos }}
- ${{ inputs.goarch }}
- ${{ inputs.goamd64 }}
- ${{ inputs.goarm }}
- ${{ inputs.gomips }}
- ${{ inputs.goversion }}
- ${{ inputs.build_flags}}
- ${{ inputs.ldflags }}
- ${{ inputs.project_path }}
- ${{ inputs.binary_name }}
- ${{ inputs.pre_command }}
- ${{ inputs.build_command }}
- ${{ inputs.executable_compression }}
- ${{ inputs.extra_files }}
- ${{ inputs.md5sum }}
- ${{ inputs.sha256sum }}
- ${{ inputs.release_tag }}
- ${{ inputs.release_name }}
- ${{ inputs.release_repo }}
- ${{ inputs.overwrite }}
- ${{ inputs.asset_name }}
- ${{ inputs.retry }}
- ${{ inputs.post_command }}
- ${{ inputs.compress_assets }}
- ${{ inputs.upload }}
- ${{ inputs.multi_binaries }}
branding:
icon: 'package'
color: 'blue'