scripts/lint.sh
Rama main · réplica de lectura del repositorio original.
#!/usr/bin/env bash
# Run the same checks CI runs, locally.
set -euo pipefail
cd "$(dirname "$0")/.."
fail=0
if command -v shellcheck >/dev/null; then
echo "==> shellcheck"
shellcheck docker/entrypoint.sh docker/healthcheck.sh docker/update-mods.sh scripts/*.sh || fail=1
else
echo "==> shellcheck not installed, skipping" >&2
fi
if command -v hadolint >/dev/null; then
echo "==> hadolint"
hadolint docker/Dockerfile || fail=1
else
echo "==> hadolint not installed, skipping" >&2
fi
echo "==> compose config"
for f in examples/docker-compose*.yml; do
case "$(basename "$f")" in
docker-compose.observability.yml) env_file=examples/.env.observability.example ;;
*) env_file=examples/.env.example ;;
esac
docker compose -f "$f" --env-file "$env_file" config >/dev/null || fail=1
done
echo "==> bash -n"
for f in docker/*.sh scripts/*.sh; do bash -n "$f" || fail=1; done
echo "==> update-mods unit tests"
bash scripts/test-update-mods.sh || fail=1
exit "$fail"