publish-metrics-dashboard.sh 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. #!/usr/bin/env bash
  2. set -e
  3. cd "$(dirname "$0")/.."
  4. if [[ -z $BUILDKITE ]]; then
  5. echo BUILDKITE not defined
  6. exit 1
  7. fi
  8. if [[ -z $PUBLISH_CHANNEL ]]; then
  9. PUBLISH_CHANNEL=$(buildkite-agent meta-data get "channel" --default "")
  10. fi
  11. if [[ -z $PUBLISH_CHANNEL ]]; then
  12. (
  13. cat <<EOF
  14. steps:
  15. - block: "Select Dashboard"
  16. fields:
  17. - select: "Channel"
  18. key: "channel"
  19. options:
  20. - label: "stable"
  21. value: "stable"
  22. - label: "edge"
  23. value: "edge"
  24. - label: "beta"
  25. value: "beta"
  26. - command: "ci/$(basename "$0")"
  27. EOF
  28. ) | buildkite-agent pipeline upload
  29. exit 0
  30. fi
  31. ci/channel-info.sh
  32. eval "$(ci/channel-info.sh)"
  33. case $PUBLISH_CHANNEL in
  34. edge)
  35. CHANNEL_BRANCH=$EDGE_CHANNEL
  36. ;;
  37. beta)
  38. CHANNEL_BRANCH=$BETA_CHANNEL
  39. ;;
  40. stable)
  41. # Set to whatever branch 'testnet' is on.
  42. CHANNEL_BRANCH=$BETA_CHANNEL
  43. ;;
  44. *)
  45. echo "Error: Invalid PUBLISH_CHANNEL=$PUBLISH_CHANNEL"
  46. exit 1
  47. ;;
  48. esac
  49. if [[ $CI_BRANCH != "$CHANNEL_BRANCH" ]]; then
  50. (
  51. cat <<EOF
  52. steps:
  53. - trigger: "$BUILDKITE_PIPELINE_SLUG"
  54. async: true
  55. build:
  56. message: "$BUILDKITE_MESSAGE"
  57. branch: "$CHANNEL_BRANCH"
  58. env:
  59. PUBLISH_CHANNEL: "$PUBLISH_CHANNEL"
  60. EOF
  61. ) | buildkite-agent pipeline upload
  62. exit 0
  63. fi
  64. set -x
  65. exec metrics/publish-metrics-dashboard.sh "$PUBLISH_CHANNEL"