mirror of
https://github.com/grafana/grafana.git
synced 2024-12-23 07:34:08 -06:00
022297f359
* add modified tag to e2e-selectors package * add sleep * pr feedback
61 lines
1.8 KiB
Bash
Executable File
61 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Set default values for dist-tag and registry for local development
|
|
# to prevent running this script and accidentally publishing to npm
|
|
dist_tag="canary"
|
|
registry="http://localhost:4873"
|
|
|
|
# shellcheck source=./scripts/helpers/exit-if-fail.sh
|
|
source "$(dirname "$0")/helpers/exit-if-fail.sh"
|
|
|
|
if [ -z "$NPM_TOKEN" ]; then
|
|
echo "The NPM_TOKEN environment variable does not exist."
|
|
exit 1
|
|
fi
|
|
|
|
# Parse command line arguments
|
|
while [[ $# -gt 0 ]]; do
|
|
key="$1"
|
|
case $key in
|
|
--dist-tag)
|
|
dist_tag="$2"
|
|
shift # past argument
|
|
shift # past value
|
|
;;
|
|
--registry)
|
|
registry="$2"
|
|
shift # past argument
|
|
shift # past value
|
|
;;
|
|
*) # unknown option
|
|
echo "Unknown option: $1"
|
|
exit 1
|
|
;;
|
|
esac
|
|
done
|
|
|
|
echo "Starting to release $dist_tag version"
|
|
|
|
registry_without_protocol=${registry#*:}
|
|
|
|
echo "$registry_without_protocol/:_authToken=${NPM_TOKEN}" >> ~/.npmrc
|
|
|
|
# Loop over .tar files in directory and publish them to npm registry
|
|
for file in ./npm-artifacts/*.tgz; do
|
|
npm publish "$file" --tag "$dist_tag" --registry "$registry"
|
|
done
|
|
|
|
# Check if any files in packages/grafana-e2e-selectors were changed. If so, add a 'modified' tag to the package
|
|
CHANGES_COUNT=$(git diff HEAD~1..HEAD --name-only -- packages/grafana-e2e-selectors | awk 'END{print NR}')
|
|
if (( $CHANGES_COUNT > 0 )); then
|
|
# Wait a little bit to allow the package to be published to the registry
|
|
sleep 5s
|
|
regex_pattern="canary: ([0-9.-]+)"
|
|
TAGS=$(npm dist-tag ls @grafana/e2e-selectors)
|
|
if [[ $TAGS =~ $regex_pattern ]]; then
|
|
echo "$CHANGES_COUNT file(s) in packages/grafana-e2e-selectors were changed. Adding 'modified' tag to @grafana/e2e-selectors@${BASH_REMATCH[1]}"
|
|
npm dist-tag add @grafana/e2e-selectors@${BASH_REMATCH[1]} modified
|
|
fi
|
|
fi
|
|
|