generated from actions/typescript-action
-
Notifications
You must be signed in to change notification settings - Fork 3
/
action.yml
264 lines (229 loc) · 8.36 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
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
name: 'Setup Agda'
author: 'Wen Kokke'
description: 'Set up a specific version of Agda.'
inputs:
agda-version:
default: 'latest'
description: |
The Agda version.
Can be "latest" or a specific version number (e.g., 2.6.2.2).
required: false
agda-stdlib-version:
default: 'none'
description: |
The Agda standard library version.
Can be "none", "recommended", "latest", or a specific version number (e.g., 1.7.1).
If set to "recommended", it will install the latest version of the Agda
standard library compatible with the specified Agda version, as specified
on [the Agda Wiki](https://wiki.portal.chalmers.se/agda/Libraries/StandardLibrary).
If set to "latest" or a specific version number, it will install the
latest or that specific version, regardless of compatibility with the
specified Agda version.
required: false
agda-libraries:
default: ''
description: |
A list of Agda libraries to install.
Libraries must be specified by their Git URL and end in a version anchor,
e.g.,
```yaml
agda-libraries: |
https://github.com/agda/agda-categories.git#v0.1.7.1
https://github.com/agda/cubical.git#v0.3
```
To setup the Agda standard library, use "agda-stdlib-version" instead, as
that ensures that the standard library and Agda versions are compatible.
This input requires that the library has a tagged release and that the
repository contains a .agda-lib file.
This input relies on the convention that the filename of the .agda-lib
file is the name of the library, and will refuse to install any library
whose .agda-lib file is simple named ".agda-lib".
required: false
agda-defaults:
default: ''
description: |
A list of installed Agda libraries to add to defaults.
Libraries must be specified by the name of their .agda-lib file, e.g.,
```yaml
agda-defaults: |
standard-library
agda-categories
cubical
```
required: false
agda-executables:
default: ''
description: |
A list of executables to register with Agda.
Executables must be specified by their name or path, e.g.,
```yaml
agda-executables: |
z3
/bin/echo
```
required: false
force-build:
description: |
If specified, always build from source.
required: false
force-no-build:
description: |
If specified, never build from source.
required: false
ghc-version:
default: 'recommended'
description: |
Version of GHC to use.
Can be "recommended", "latest", or a specific version number (e.g., 9.4.2).
If set to "recommended", it will get the latest version supported by
`haskell/actions/setup` which the Agda version is tested-with.
If `ghc-version-match-exact` is set to false, it will favour versions
which are supported by `haskell/actions/setup`.
If set "latest" or to a specific GHC version, this version will be used
even if it is incompatible with the Agda version.
required: false
pre-build-hook:
default: ''
description: |
A shell script to be run before starting the build.
required: false
configure-options:
default: 'recommended'
description: |
Can be "none", "recommended", or text.
If set to "none", no configuration flags will be passed to `cabal configure`.
If set to "recommended", the recommended configuration flags will be passed to `cabal configure`.
Otherwise, the value will be passed to `cabal configure` verbatim.
Only used when building Agda from source.
bundle:
description: |
If specified, bundle Agda and its non-standard dependencies, and upload
the bundle as an artifact.
required: false
bundle-name:
default: |
agda-{{ agda }}
-{{ arch }}
-{{ release }}
-ghc{{ ghc }}
-cabal{{ cabal }}
{% if icu %}-icu{{ icu }}{% endif %}
description: |
If specified, will be used as a name for the bundle.
The value is interpreted as a [nunjucks template](https://mozilla.github.io/nunjucks/).
The template may use `{{agda}}`, `{{cabal}}`, `{{ghc}}`, `{{icu}}`,
which will be replaced by their respective versions, if used, and
`{{arch}}`, `{{platform}}`, and `{{release}}`. The variable `{{arch}}`
is replaced by the system architecture---e.g., `x64`, `arm64`, etc.
The variable `{{platform}}` is replaced by one of of `linux`, `macos`,
or `windows`. The variable `{{release}}` is replaced by a release
identifier, e.g., `ubuntu-22.04`, `macos-12`, or `windows-2022`.
Only used when `bundle` is specified.
required: false
bundle-license-report:
description: |
If specified, include a license report in the bundle.
Only used when `bundle` is specified.
required: false
bundle-compress:
description: |
If specified, the executables are compressed with [UPX](https://upx.github.io).
Beware that on MacOS and Windows the resulting executables are unsigned,
and therefore will cause problems with security.
There is a workaround for this on MacOS:
```sh
# for each executable file in <package>/bin:
chmod +x <bin>
xattr -c <bin>
# for each library file in <package>/lib:
chmod +w <lib>
xattr -c <lib>
chmod -w <lib>
```
Only used when `bundle` is specified.
required: false
bundle-retention-days:
default: '0'
description: |
Duration after which bundle will expire in days.
0 means using default retention.
Minimum 1 day.
Maximum 90 days unless changed from the repository settings page.
required: false
# If haskell/actions/setup is called, following inputs are passed to it:
cabal-version:
default: 'latest'
description: |
Version of Cabal to use. If set to "latest", it will always get the latest stable version.
required: false
stack-version:
default: 'latest'
description: |
Version of Stack to use. If set to "latest", it will always get the latest stable version.
required: false
enable-stack:
description: |
If specified, will setup Stack.
required: false
stack-no-global:
description: |
If specified, enable-stack must be set. Prevents installing GHC and Cabal globally.
required: false
stack-setup-ghc:
description: |
If specified, enable-stack must be set. Will run stack setup to install the specified GHC.
required: false
cabal-update:
required: false
description: |
If specified, will run `cabal update`.
ghcup-release-channel:
required: false
description: |
If specified, value is added as a ghcup release channel via `ghcup config add-release-channel`.
disable-matcher:
required: false
description: |
If specified, disables match messages from GHC as GitHub CI annotations.
outputs:
agda-version:
description: 'The resolved Agda version.'
agda-path:
description: 'The path of the agda executable _directory_.'
agda-data-path:
description: 'The path of the agda data _directory_.'
agda-exe:
description: 'The path of the agda _executable_.'
agda-mode-exe:
description: 'The path of the agda-mode _executable_.'
setup-haskell:
description: 'Whether or not actions/haskell/setup was called.'
# If actions/haskell/setup is called, the following outputs are set:
ghc-version:
description: 'The resolved version of ghc'
cabal-version:
description: 'The resolved version of cabal'
stack-version:
description: 'The resolved version of stack'
ghc-exe:
description: 'The path of the ghc _executable_'
cabal-exe:
description: 'The path of the cabal _executable_'
stack-exe:
description: 'The path of the stack _executable_'
ghc-path:
description: 'The path of the ghc executable _directory_'
cabal-path:
description: 'The path of the cabal executable _directory_'
stack-path:
description: 'The path of the stack executable _directory_'
cabal-store:
description: 'The path to the cabal store'
stack-root:
description: 'The path to the stack root (equal to the STACK_ROOT environment variable if it is set; otherwise an OS-specific default)'
runs:
using: 'node20'
main: './dist/action.cjs'
branding:
icon: feather
color: purple