pr-sanity-checks.sh 1.1 KB

123456789101112131415161718192021222324252627282930313233
  1. #!/usr/bin/env bash
  2. set -euo pipefail
  3. if ! type "docker" > /dev/null; then
  4. echo "docker is not installed"
  5. exit 1
  6. fi
  7. if ! type "yq" > /dev/null; then
  8. echo "yq is not installed"
  9. exit 1
  10. fi
  11. EMQX_BUILDER_VERSION=${EMQX_BUILDER_VERSION:-5.3-2}
  12. EMQX_BUILDER_OTP=${EMQX_BUILDER_OTP:-26.2.1-2}
  13. EMQX_BUILDER_ELIXIR=${EMQX_BUILDER_ELIXIR:-1.15.7}
  14. EMQX_BUILDER_PLATFORM=${EMQX_BUILDER_PLATFORM:-ubuntu22.04}
  15. EMQX_BUILDER=${EMQX_BUILDER:-ghcr.io/emqx/emqx-builder/${EMQX_BUILDER_VERSION}:${EMQX_BUILDER_ELIXIR}-${EMQX_BUILDER_OTP}-${EMQX_BUILDER_PLATFORM}}
  16. commands=$(yq ".jobs.sanity-checks.steps[].run" .github/workflows/_pr_entrypoint.yaml | grep -v null)
  17. BEFORE_REF=${BEFORE_REF:-$(git rev-parse master)}
  18. AFTER_REF=${AFTER_REF:-$(git rev-parse HEAD)}
  19. docker run --rm -it -v "$(pwd):/emqx" -w /emqx \
  20. -e GITHUB_WORKSPACE=/emqx \
  21. -e BEFORE_REF="$BEFORE_REF" \
  22. -e AFTER_REF="$AFTER_REF" \
  23. -e GITHUB_BASE_REF="$BEFORE_REF" \
  24. -e MIX_ENV=emqx-enterprise \
  25. -e PROFILE=emqx-enterprise \
  26. -e ACTIONLINT_VSN=1.6.25 \
  27. "${EMQX_BUILDER}" /bin/bash -c "git config --global --add safe.directory /emqx; ${commands}"