parse_hpcc_chart.sh 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. #!/bin/bash
  2. #
  3. # Common utilities used by tools for automating tagging and release
  4. #
  5. set -e
  6. function parse_chart()
  7. {
  8. local _chart=$1
  9. HPCC_PROJECT=$(grep -m1 '^name:' $_chart | sed "s/^name: *//")
  10. HPCC_NAME="Helm Chart for $HPCC_PROJECT"
  11. HPCC_VERSION=$(grep -m1 '^version:' $_chart | sed "s/^version: *//")
  12. HPCC_MAJOR=$(echo $HPCC_VERSION | awk 'BEGIN {FS="[.-]"}; {print $1};')
  13. HPCC_MINOR=$(echo $HPCC_VERSION | awk 'BEGIN {FS="[.-]"}; {print $2};')
  14. HPCC_POINT=$(echo $HPCC_VERSION | awk 'BEGIN {FS="[.-]"}; {print $3};')
  15. HPCC_MATURITY=$(echo $HPCC_VERSION | awk 'BEGIN {FS="[-.+]"}; {print $4};' | sed 's/[0-9]//g')
  16. HPCC_SEQUENCE=$(echo $HPCC_VERSION | awk 'BEGIN {FS="[-.+]"}; {print $4};' | sed 's/[^0-9]//g')
  17. # translate maturity/sequence to what go_rc/go_gold understand
  18. if [ -z "$HPCC_MATURITY" ] ; then
  19. HPCC_MATURITY=release
  20. fi
  21. # translate maturity to what go_rc/go_gold understand
  22. if [ -z "$HPCC_SEQUENCE" ] ; then
  23. HPCC_SEQUENCE=1
  24. fi
  25. echo "file $VERSIONFILE"
  26. echo "PROJECT $HPCC_PROJECT"
  27. echo "VERSION $HPCC_VERSION"
  28. echo "MAJOR $HPCC_MAJOR"
  29. echo "MINOR $HPCC_MINOR"
  30. echo "POINT $HPCC_POINT"
  31. echo "MATURITY $HPCC_MATURITY"
  32. echo "SEQ $HPCC_SEQUENCE"
  33. if ! `echo $HPCC_SEQUENCE | grep -Eq ^[0-9]+$`; then
  34. echo "Error: HPCC_SEQUENCE not an Integer"
  35. echo "-- possibly on branch using old versioning scheme"
  36. exit 2
  37. fi
  38. }
  39. function update_chart_file()
  40. {
  41. # Update the Chart.yaml file
  42. local _chart=$1
  43. local _new_maturity=$2
  44. local _new_point=$3
  45. local _new_sequence=$4
  46. local _new_minor=$5
  47. if [ -z "$_new_minor" ] ; then
  48. _new_minor=$HPCC_MINOR
  49. fi
  50. if [ "$_new_maturity" == "release" ] ; then
  51. local _v=${HPCC_MAJOR}.${_new_minor}.${_new_point}
  52. else
  53. local _v=${HPCC_MAJOR}.${_new_minor}.${_new_point}-${_new_maturity}${_new_sequence}
  54. fi
  55. if [ -n "$VERBOSE" ] ; then
  56. echo sed -E \
  57. -e "s/^version: .*$/version: $_v/" \
  58. -e "s/^appVersion: .*$/appVersion: $_v/" \
  59. -i.bak $_chart
  60. fi
  61. if [ -z "$DRYRUN" ] ; then
  62. sed -E \
  63. -e "s/^version: .*$/version: $_v/" \
  64. -e "s/^appVersion: .*$/appVersion: $_v/" \
  65. -i.bak $_chart
  66. cat $_chart
  67. else
  68. sed -E \
  69. -e "s/^version: .*$/version: $_v/" \
  70. -e "s/^appVersion: .*$/appVersion: $_v/" \
  71. $_chart
  72. fi
  73. }