osrm-backend/scripts/travis/publish.sh

59 lines
1.8 KiB
Bash
Raw Normal View History

#!/bin/bash
set -eu
set -o pipefail
# should be set for debug builds
export NPM_FLAGS=${NPM_FLAGS:-}
echo "node version is:"
which node
node -v
echo "dumping binary meta..."
./node_modules/.bin/node-pre-gyp reveal ${NPM_FLAGS}
# enforce that binary has proper ORIGIN flags so that
# it can portably find libtbb.so in the same directory
if [[ $(uname -s) == 'Linux' ]]; then
readelf -d ./lib/binding/node-osrm.node > readelf-output.txt
if grep -q 'Flags: ORIGIN' readelf-output.txt; then
echo "Found ORIGIN flag in readelf output"
cat readelf-output.txt
else
echo "*** Error: Could not found ORIGIN flag in readelf output"
cat readelf-output.txt
exit 1
fi
fi
echo "determining publishing status..."
2017-03-21 20:51:07 -04:00
export COMMIT_MESSAGE=$(git log --format=%B --no-merges | head -n 1 | tr -d '\n')
echo "Commit message: ${COMMIT_MESSAGE}"
if [[ $(./scripts/travis/is_pr_merge.sh) ]]; then
2017-03-21 20:51:07 -04:00
if [[ ${COMMIT_MESSAGE} =~ "[force publish binary]" ]]; then
echo "Publishing because it's forced"
./node_modules/.bin/node-pre-gyp package ${NPM_FLAGS}
./node_modules/.bin/node-pre-gyp publish ${NPM_FLAGS}
else
echo "Skipping publishing because this is a PR merge commit"
fi
else
echo "This is a push commit, continuing to package..."
./node_modules/.bin/node-pre-gyp package ${NPM_FLAGS}
if [[ ${COMMIT_MESSAGE} =~ "[publish binary]" ]]; then
echo "Publishing"
2017-03-21 20:51:07 -04:00
./node_modules/.bin/node-pre-gyp package ${NPM_FLAGS}
./node_modules/.bin/node-pre-gyp publish ${NPM_FLAGS}
elif [[ ${COMMIT_MESSAGE} =~ "[republish binary]" ]]; then
echo "*** Error: Republishing is disallowed for this repository"
exit 1
#./node_modules/.bin/node-pre-gyp unpublish publish ${NPM_FLAGS}
else
echo "Skipping publishing"
fi;
fi