bake_env.sh 1.0 KB

123456789101112131415161718192021222324252627282930313233
  1. #!/usr/bin/env bash
  2. # If SOURCE_COMMIT is provided via env skip this
  3. if [ -z "${SOURCE_COMMIT+x}" ]; then
  4. SOURCE_COMMIT="$(git rev-parse HEAD)"
  5. fi
  6. # If VW_VERSION is provided via env use it as SOURCE_VERSION
  7. # Else define it using git
  8. if [[ -n "${VW_VERSION}" ]]; then
  9. SOURCE_VERSION="${VW_VERSION}"
  10. else
  11. GIT_EXACT_TAG="$(git describe --tags --abbrev=0 --exact-match 2>/dev/null)"
  12. if [[ -n "${GIT_EXACT_TAG}" ]]; then
  13. SOURCE_VERSION="${GIT_EXACT_TAG}"
  14. else
  15. GIT_LAST_TAG="$(git describe --tags --abbrev=0)"
  16. SOURCE_VERSION="${GIT_LAST_TAG}-${SOURCE_COMMIT:0:8}"
  17. GIT_BRANCH="$(git rev-parse --abbrev-ref HEAD)"
  18. case "${GIT_BRANCH}" in
  19. main|master|HEAD)
  20. # Do not add the branch name for these branches
  21. ;;
  22. *)
  23. SOURCE_VERSION="${SOURCE_VERSION} (${GIT_BRANCH})"
  24. ;;
  25. esac
  26. fi
  27. fi
  28. # Export the rendered variables above so bake will use them
  29. export SOURCE_COMMIT
  30. export SOURCE_VERSION