-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathaction.yml
149 lines (139 loc) · 4.5 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
name: Cargo Release builder, packager, publisher
description: All-in-one action to build, optimise, tag, sign, and publish a Cargo-based Rust project.
branding:
icon: 'umbrella'
color: 'orange'
runs:
using: node16
main: dist/index.js
inputs:
# credentials
github-token:
description: A github token to interact with the API and to use for OIDC.
required: true
crates-token:
description: A crates.io token with publish scope for the crates.
# setup
toolchain:
description: The rust toolchain to use.
default: nightly
target:
description: The target to install and build for.
binstall-version:
description: Specify the cargo-binstall version to use.
cosign-version:
description: Specify the cosign version to use.
rekor-version:
description: Specify the rekor version to use.
gitsign-version:
description: Specify the gitsign version to use.
cross-version:
description: Specify the cross version to use.
# build
crates:
description: Newline-separated pattern list of crates to build within the workspace.
features:
description: Newline-separated features to enable when building.
buildstd:
description: Set to `false` to disable building the standard library from source.
default: 'true'
debuginfo:
description: Set to `false` to disable generating and outputting split debuginfo.
default: 'true'
musl-libgcc:
description: Set to `false` to disable static-linking libgcc for musl builds.
default: 'true'
crt-static:
description: Force static/dynamic-linking of the C runtime.
use-cross:
description: Force use/non-use of cross to compile.
# extras
extra-rustup-components:
description: Extra components to install with rustup.
extra-cargo-flags:
description: Extra flags to pass to cargo build.
extra-rustc-flags:
description: Extra flags to pass to rustc (RUSTFLAGS).
extra-cosign-flags:
description: Extra flags to pass to cosign.
# packaging
package-archive:
description: Packaging archive format.
default: zip
package-files:
description: Newline-separated pattern list of files to include in the package in addition to compiled binaries.
package-name:
description: Name of the package, excluding the extension.
package-in-dir:
description: Wrap the package contents in a directory with the same name before archiving.
default: 'true'
package-separately:
description: Package each crate separately.
default: 'false'
package-short-ext:
description: Use the short variant of the archive extension, if relevant for the format.
default: 'false'
package-output:
description: Path to write finished packages to.
default: packages/
package-sign:
description: Set to `false` to disable signing packages.
default: 'true'
# publishing
publish-crate:
description: Set to `false` to disable publishing to crates.io.
default: 'true'
publish-crate-only:
description:
default: 'false'
publish-all-crates:
description:
default: 'false'
# tagging
tag:
description: Tag to create or use for the release.
tag-crates:
description: Set to `false` to disable tagging crate publishes.
default: 'true'
tag-sign:
description: Set to `false` to disable signing tags
default: 'true'
# release
release:
description: Set to `false` to disable publishing a GitHub release.
default: 'true'
release-name:
description: Name of the github release.
release-notes:
description: Body of the github release.
release-separately:
description: Create a release for each crate.
default: 'false'
release-latest:
description: Set to `false` to not mark the release as the latest.
release-pre:
description: Set to `true` to mark the release as a pre-release.
default: 'false'
# hooks
post-setup:
description: Script to run after toolchain setup.
post-publish:
description: Script to run after publishing to registry.
custom-build:
description: Completely custom build script.
post-build:
description: Script to run after building.
pre-package:
description: Script to run immediately before packaging.
post-package:
description: Script to run after packaging.
post-sign:
description: Script to run after signing.
post-release:
description: Script to run after releasing to Github.
hooks-shell:
description: Shell to use for all hooks.
default: bash
outputs:
files:
description: Newline-separated list of files generated by the action.