Reject invalid legacy release selectors

This commit is contained in:
2026-11-04 02:29:09 +00:00
parent 12a6fa66fa
commit 7eac3fea65
3 changed files with 29 additions and 4 deletions

View File

@@ -1,10 +1,16 @@
#!/bin/sh
set -eu
if [ "$#" -ne 2 ]; then
usage() {
printf '%s\n' 'usage: ./scripts/release MODULE VERSION' >&2
exit 2
fi
}
[ "$#" -eq 2 ] || usage
case "$1" in
core|ckconfig|ckprompt) ;;
*) usage ;;
esac
script_dir=$(CDPATH= cd "$(dirname "$0")" && pwd)
exec "$script_dir/releasekit" "$1" publish "$2"

View File

@@ -187,7 +187,19 @@ func TestInvalidForms(t *testing.T) {
for _, tc := range []struct {
script string
args []string
}{{"releasekit", nil}, {"releasekit", []string{"unknown"}}, {"releasekit", []string{"core"}}, {"releasekit", []string{"core", "version"}}, {"release", nil}, {"release", []string{"core"}}, {"release", []string{"core", "v1", "extra"}}, {"release", []string{"unknown", "v1"}}} {
}{
{"releasekit", nil},
{"releasekit", []string{"unknown"}},
{"releasekit", []string{"core"}},
{"releasekit", []string{"core", "version"}},
{"release", nil},
{"release", []string{"core"}},
{"release", []string{"core", "v1", "extra"}},
{"release", []string{"unknown", "v1"}},
{"release", []string{"version", "v1.2.3"}},
{"release", []string{"publication-attempts", "v1.2.3"}},
{"release", []string{"reconcile", "v1.2.3"}},
} {
f := newFixture(t)
_, stderr, status := f.run(t, tc.script, 0, tc.args...)
if status != 2 || !strings.Contains(stderr, "usage:") {