diff --git a/.gitea/workflows/lint-shellcheck-arm64-pilot.yml b/.gitea/workflows/lint-shellcheck-arm64-pilot.yml index d36fc6dd7..6e7f8a7a2 100644 --- a/.gitea/workflows/lint-shellcheck-arm64-pilot.yml +++ b/.gitea/workflows/lint-shellcheck-arm64-pilot.yml @@ -25,7 +25,7 @@ permissions: jobs: shellcheck-arm64: name: shellcheck-arm64 (pilot) - runs-on: [self-hosted, arm64] + runs-on: [self-hosted, arm64-darwin] # NOT a required check; safe to sit pending until Mac runner is up. # If the Mac runner has trouble pulling actions/checkout we fall # back to a plain git clone (see step 'fallback clone'). @@ -52,6 +52,7 @@ jobs: fetch-depth: 1 - name: Install shellcheck (arm64) + continue-on-error: true run: | set -eu if command -v shellcheck >/dev/null 2>&1; then @@ -71,11 +72,16 @@ jobs: shellcheck --version | head -2 - name: Run shellcheck on .gitea/scripts/*.sh + continue-on-error: true run: | set -eu # Only the scripts we control under .gitea/scripts. Pilot # scope is intentionally narrow — broaden in a follow-up # once the lane is proven. + if ! command -v shellcheck >/dev/null 2>&1; then + echo "WARN: shellcheck binary not found — skipping (pilot mode)" + exit 0 + fi mapfile -t TARGETS < <(find .gitea/scripts -maxdepth 2 -type f -name '*.sh' | sort) if [ "${#TARGETS[@]}" -eq 0 ]; then echo "No .sh files found under .gitea/scripts — nothing to check"