fix(install-e2e): round-2 review — decimal-only tag-count, honest cost math

^(10|[1-9])$ replaces the two-step guard: the [0-9]+ regex accepted
leading zeros that bash arithmetic then read as octal (010 passed as 8,
08 errored). README cost figures corrected to the generator's real
expansion: 41 legs/tag, 82 at the default 2 tags, update route 8/tag,
first matrix overflow at 15 tags (270 windows entries).
This commit is contained in:
yoniebans
2026-09-02 18:32:47 +02:00
parent a3e7d6a1c7
commit cd39b3535c
2 changed files with 5 additions and 5 deletions

View File

@@ -97,13 +97,13 @@ jobs:
- id: pick
env:
# Dispatch inputs never touch shell syntax directly: TAG_COUNT
# arrives via the environment, is validated here, and is capped
# below the 256-job matrix limit (14 tags ~= 252 windows entries).
# arrives via the environment, is validated decimal-only (bash
# arithmetic reads a leading zero as octal), and is capped below
# the 256-job matrix limit (15 tags = 270 windows entries).
TAG_COUNT: ${{ inputs.tag-count || 2 }}
run: |
set -euo pipefail
[[ "$TAG_COUNT" =~ ^[0-9]+$ ]] || { echo "tag-count must be a positive integer, got: $TAG_COUNT" >&2; exit 1; }
(( TAG_COUNT >= 1 && TAG_COUNT <= 10 )) || { echo "tag-count must be 1-10, got: $TAG_COUNT" >&2; exit 1; }
[[ "$TAG_COUNT" =~ ^(10|[1-9])$ ]] || { echo "tag-count must be 1-10, got: $TAG_COUNT" >&2; exit 1; }
tags="$(scripts/sandbox/pick-release-tags.sh --count "$TAG_COUNT")"
echo "Testing updates from: $tags"
# Annotate each tag with what its own tree supports, so run