parse-git-ref.sh 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #!/usr/bin/env bash
  2. set -euo pipefail
  3. # $1 is fully qualified git ref name, e.g. refs/tags/v5.1.0 or refs/heads/master
  4. if [[ $1 =~ ^refs/tags/v[5-9]+\.[0-9]+\.[0-9]+$ ]]; then
  5. PROFILE=emqx
  6. EDITION=Opensource
  7. RELEASE=true
  8. LATEST=true
  9. elif [[ $1 =~ ^refs/tags/e[5-9]+\.[0-9]+\.[0-9]+$ ]]; then
  10. PROFILE=emqx-enterprise
  11. EDITION=Enterprise
  12. RELEASE=true
  13. LATEST=true
  14. elif [[ $1 =~ ^refs/tags/v[5-9]+\.[0-9]+\.[0-9]+-(alpha|beta|rc)\.[0-9]+$ ]]; then
  15. PROFILE=emqx
  16. EDITION=Opensource
  17. RELEASE=true
  18. LATEST=false
  19. elif [[ $1 =~ ^refs/tags/e[5-9]+\.[0-9]+\.[0-9]+-(alpha|beta|rc)\.[0-9]+$ ]]; then
  20. PROFILE=emqx-enterprise
  21. EDITION=Enterprise
  22. RELEASE=true
  23. LATEST=false
  24. elif [[ $1 =~ ^refs/tags/.+ ]]; then
  25. echo "Unrecognized tag: $1"
  26. exit 1
  27. elif [[ $1 =~ ^refs/heads/master$ ]]; then
  28. PROFILE=emqx
  29. EDITION=Opensource
  30. RELEASE=false
  31. LATEST=false
  32. elif [[ $1 =~ ^refs/heads/release-[5-9][0-9]+$ ]]; then
  33. PROFILE=emqx-enterprise
  34. EDITION=Enterprise
  35. RELEASE=false
  36. LATEST=false
  37. else
  38. echo "Unrecognized git ref: $1"
  39. exit 1
  40. fi
  41. cat <<EOF
  42. {"profile": "$PROFILE", "edition": "$EDITION", "release": $RELEASE, "latest": $LATEST}
  43. EOF