From 4514a61c47b4bd07d88fee49a72e2baf5d1d8452 Mon Sep 17 00:00:00 2001 From: Vineeth Sai Narajala Date: Mon, 2 Nov 2026 17:09:14 +0000 Subject: [PATCH 1/2] fix(install): preserve literal dots in RPM asset fallback Signed-off-by: Vineeth Sai Narajala --- install.sh | 6 ++-- tasks/scripts/test-install-sh.sh | 52 ++++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+), 3 deletions(-) diff --git a/install.sh b/install.sh index 10dd62f59a..71d72ca1ae 100755 --- a/install.sh +++ b/install.sh @@ -794,15 +794,15 @@ find_rpm_asset() { case "$_package" in openshell) _dev_name="openshell-dev-${_arch}.rpm" - _fallback_re="^openshell-[0-9].*\\.${_arch}\\.rpm$" + _fallback_re="^openshell-[0-9].*[.]${_arch}[.]rpm$" ;; openshell-gateway) _dev_name="openshell-gateway-dev-${_arch}.rpm" - _fallback_re="^openshell-gateway-[0-9].*\\.${_arch}\\.rpm$" + _fallback_re="^openshell-gateway-[0-9].*[.]${_arch}[.]rpm$" ;; openshell-prover) _dev_name="openshell-prover-dev-${_arch}.rpm" - _fallback_re="^openshell-prover-[0-9].*\\.${_arch}\\.rpm$" + _fallback_re="^openshell-prover-[0-9].*[.]${_arch}[.]rpm$" ;; *) error "unknown RPM package selector: ${_package}" diff --git a/tasks/scripts/test-install-sh.sh b/tasks/scripts/test-install-sh.sh index 9021f45921..ec3d2f0fad 100755 --- a/tasks/scripts/test-install-sh.sh +++ b/tasks/scripts/test-install-sh.sh @@ -872,6 +872,58 @@ if [ "$(find_rpm_asset "${tmpdir}/checksums" x86_64 openshell-prover)" != "opens exit 1 fi +cat >"${tmpdir}/rpm-fallback-checksums" <<'EOF' +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa openshell-1.2.3-x86_64.rpm +bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb openshell-1.2.3.x86_64-rpm +cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc openshell-1.2.3.x86_64.rpm +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd openshell-gateway-1.2.3-x86_64.rpm +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee openshell-gateway-1.2.3.x86_64-rpm +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff openshell-gateway-1.2.3.x86_64.rpm +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa openshell-prover-1.2.3-x86_64.rpm +bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb openshell-prover-1.2.3.x86_64-rpm +cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc openshell-prover-1.2.3.x86_64.rpm +EOF + +assert_rpm_fallback() { + local awk_bin=$1 + local package=$2 + local expected=$3 + local actual + + if ! actual="$( + awk() { + if [ "$awk_bin" = busybox ]; then + busybox awk "$@" + else + command "$awk_bin" "$@" + fi + } + find_rpm_asset "${tmpdir}/rpm-fallback-checksums" x86_64 "$package" + )" 2>"$err"; then + echo "FAIL: ${awk_bin} RPM ${package} fallback failed" >&2 + cat "$err" >&2 + exit 1 + fi + if [ -s "$err" ]; then + echo "FAIL: ${awk_bin} RPM ${package} fallback wrote to stderr" >&2 + cat "$err" >&2 + exit 1 + fi + if [ "$actual" != "$expected" ]; then + echo "FAIL: ${awk_bin} RPM ${package} fallback: expected ${expected}, got ${actual}" >&2 + exit 1 + fi +} + +for awk_bin in awk gawk mawk busybox; do + if ! command -v "$awk_bin" >/dev/null 2>&1; then + continue + fi + assert_rpm_fallback "$awk_bin" openshell openshell-1.2.3.x86_64.rpm + assert_rpm_fallback "$awk_bin" openshell-gateway openshell-gateway-1.2.3.x86_64.rpm + assert_rpm_fallback "$awk_bin" openshell-prover openshell-prover-1.2.3.x86_64.rpm +done + mock_gh_log="${tmpdir}/gh.log" PLATFORM=linux linux_package_method() { From 9889efd4fd65c9b4447679ec89ece109a5d972e4 Mon Sep 17 00:00:00 2001 From: Vineeth Sai Narajala Date: Mon, 2 Nov 2026 18:08:45 +0000 Subject: [PATCH 2/2] ci(install): run RPM fallback regression in branch checks Signed-off-by: Vineeth Sai Narajala --- .github/workflows/branch-checks.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/branch-checks.yml b/.github/workflows/branch-checks.yml index f4341db4b6..efbf993661 100644 --- a/.github/workflows/branch-checks.yml +++ b/.github/workflows/branch-checks.yml @@ -594,6 +594,12 @@ jobs: - name: Test run: mise run test:python + - name: Test installer shell script + run: | + apt-get update + apt-get install -y --no-install-recommends gawk + bash tasks/scripts/test-install-sh.sh + - name: Test local gateway configuration helpers run: | bash tasks/scripts/test-gateway-pull-policy.sh