vouchington-tooling 0.19.0 → 0.19.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md
CHANGED
|
@@ -96,9 +96,10 @@ Name mode takes one or more `--name <artifact>` flags (mutually exclusive with `
|
|
|
96
96
|
the run's artifacts once, and extracts every requested name that is present into `<dir>/<name>`.
|
|
97
97
|
Names are matched literally, in request order, with repeats downloaded once; empty names, `.`, `..`,
|
|
98
98
|
and names containing `/`, `\`, or a line break are rejected before anything is listed. Requested
|
|
99
|
-
names absent from the run are
|
|
100
|
-
|
|
101
|
-
|
|
99
|
+
names absent from the run are expected (callers pass a superset such as retry-attempt variants) and
|
|
100
|
+
are skipped with a single bounded `::notice::` (the absent count, the first three names, then
|
|
101
|
+
`and N more`) and never one line per name. `availability=available` means at least one requested
|
|
102
|
+
artifact was downloaded; `availability=unavailable` (exit 0) means none was
|
|
102
103
|
present. A present artifact whose download fails is a hard failure: the helper stops at the first
|
|
103
104
|
one, prints `download failed artifact=<name> exit=<n>`, exits non-zero (a downloader exit of 3 is
|
|
104
105
|
reported as 1 so it cannot be mistaken for absence), and writes no `availability` output.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vouchington-tooling",
|
|
3
|
-
"version": "0.19.
|
|
3
|
+
"version": "0.19.1",
|
|
4
4
|
"description": "Vouchington CLI and extractable tooling libraries.",
|
|
5
5
|
"homepage": "https://github.com/vouchington/vouchington-tooling/tree/main/packages/vouchington-tooling#readme",
|
|
6
6
|
"bugs": {
|
|
@@ -126,14 +126,14 @@ download_pattern() {
|
|
|
126
126
|
done
|
|
127
127
|
}
|
|
128
128
|
|
|
129
|
-
|
|
129
|
+
notice_absent() {
|
|
130
130
|
local requested="$1" count=$(($# - 1)) list='' name
|
|
131
131
|
shift
|
|
132
132
|
for name in "${@:1:3}"; do
|
|
133
133
|
list="${list:+$list, }$name"
|
|
134
134
|
done
|
|
135
135
|
[ "$count" -le 3 ] || list="$list and $((count - 3)) more"
|
|
136
|
-
echo "::
|
|
136
|
+
echo "::notice::Optional same-run artifacts absent: $count of $requested requested (${list//\%/%25})" >&2
|
|
137
137
|
}
|
|
138
138
|
|
|
139
139
|
download_names() {
|
|
@@ -152,7 +152,7 @@ download_names() {
|
|
|
152
152
|
if contains "$name" "${listed[@]}"; then present+=("$name"); else absent+=("$name"); fi
|
|
153
153
|
done
|
|
154
154
|
echo "[optional-run-artifacts] selection selector=name requested=${#names[@]} present=${#present[@]} absent=${#absent[@]}" >&2
|
|
155
|
-
[ "${#absent[@]}" -eq 0 ] ||
|
|
155
|
+
[ "${#absent[@]}" -eq 0 ] || notice_absent "${#names[@]}" "${absent[@]}"
|
|
156
156
|
[ "${#present[@]}" -gt 0 ] || return 3
|
|
157
157
|
for name in "${present[@]}"; do
|
|
158
158
|
echo "[optional-run-artifacts] attempt selector=name artifact=$name" >&2
|