update missing npm publish scripts

This commit is contained in:
Kevin Minehart
2025-09-23 10:29:42 -05:00
parent d3a178e9c9
commit f816bfe78a
2 changed files with 91 additions and 11 deletions
+25 -11
View File
@@ -5,12 +5,11 @@
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
# Require either ACTIONS_ID_TOKEN_REQUEST_URL or NPM_TOKEN to be set
if [ -z "$ACTIONS_ID_TOKEN_REQUEST_URL" ] && [ -z "$NPM_TOKEN" ]; then
echo "ERROR: Either ACTIONS_ID_TOKEN_REQUEST_URL or NPM_TOKEN environment variable must be set."
echo "If running in Github Actions, ensure that 'id-token: write' permission is granted."
exit 1
fi
# Parse command line arguments
@@ -34,17 +33,32 @@ while [[ $# -gt 0 ]]; do
esac
done
echo "Starting to release $dist_tag version"
echo "Starting to release $dist_tag version with NPM version $(npm --version) to registry $registry"
registry_without_protocol=${registry#*:}
echo "$registry_without_protocol/:_authToken=${NPM_TOKEN}" >> ~/.npmrc
if [ -n "$NPM_TOKEN" ]; then
echo "Configured NPM_TOKEN in ~/.npmrc"
registry_without_protocol=${registry#*:}
echo "$registry_without_protocol/:_authToken=${NPM_TOKEN}" >> ~/.npmrc
fi
# Loop over .tar files in directory and publish them to npm registry
failed_packages=()
for file in ./npm-artifacts/*.tgz; do
npm publish "$file" --tag "$dist_tag" --registry "$registry"
if ! npm publish "$file" --tag "$dist_tag" --registry "$registry"; then
failed_packages+=("$file")
fi
done
# Log failed packages and exit with error if any failed
if (( ${#failed_packages[@]} > 0 )); then
echo ""
echo "ERROR: The following packages failed to publish:"
for pkg in "${failed_packages[@]}"; do
echo " - $pkg"
done
exit 1
fi
# 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