Files
netshift/tests
yandexru45 07268e2b99 fix(ci): make backend POSIX-clean for ShellCheck + executable smoke entrypoint
CI failed on two independent issues after the rebrand:

1. Differential ShellCheck (severity=error): the git mv podkop->netshift made
   every lib file "new", surfacing pre-existing upstream dash-incompatibilities.
   Fixed all severity=error defects so `shellcheck --shell=ash` is clean:
   - SC2148: add `# shellcheck shell=ash` directive to the 7 sourced libs
     (constants/helpers/logging/nft/rulesets/sing_box_config_manager/facade)
   - SC3014: `[ x == y ]` -> `[ x = y ]` (bin/netshift + facade + logging)
   - SC3010: `[[ ... ]]` / `[[ =~ ]]` -> POSIX (grep -Eq / case / `! cmd`)
     in bin/netshift and helpers (is_ipv4, is_ipv4_cidr, is_domain, ...)
   - SC3060: `${input//,/...}` -> `sed 's/,/","/g'`
   - SC3028: `$RANDOM` in gen_id -> `/dev/urandom` (od-free, busybox-safe)
   - SC3003: `$'\r'` -> `"$(printf '\r')"`
   - SC3036: `echo -e` -> `printf '%b\n'` (logging.sh)

2. Smoke-test job: tests/entrypoint.sh lacked the executable bit (git mode
   100644) -> "permission denied" in the container. Set mode 100755.

README: drop stale podkop.net docs badge.

Verified: shellcheck --severity=error --shell=ash clean (exit 0); smoke suite
44 passed / 0 failed; gen_id still yields 16-hex ids; behavior unchanged.
2026-06-02 19:36:27 +03:00
..