diff options
author | jmkiley <jordan.kiley@mapbox.com> | 2018-11-29 12:40:53 -0800 |
---|---|---|
committer | jmkiley <jordan.kiley@mapbox.com> | 2018-11-29 12:40:53 -0800 |
commit | 66994fb6b5f079905824bc36a9a2efda05099f92 (patch) | |
tree | 9152bd146cfe624c868e5f3f06686cafb6e2aafb | |
parent | 02906077e1c24540d35a2a1fba91aa0a68e74f38 (diff) | |
download | qtlocation-mapboxgl-66994fb6b5f079905824bc36a9a2efda05099f92.tar.gz |
[ios] made separate deploy-packages.sh for cn
-rw-r--r-- | circle.yml | 3 | ||||
-rw-r--r-- | platform/ios/scripts/deploy-packages-cn.sh | 51 | ||||
-rwxr-xr-x | platform/ios/scripts/deploy-packages.sh | 72 |
3 files changed, 121 insertions, 5 deletions
diff --git a/circle.yml b/circle.yml index 087418de3d..efdd07aaa9 100644 --- a/circle.yml +++ b/circle.yml @@ -972,8 +972,7 @@ jobs: name: Build, package, and upload iOS release command: | export VERSION_TAG=${CIRCLE_TAG} - export GITHUB_TOKEN=${DANGER_GITHUB_API_TOKEN} - platform/ios/scripts/deploy-packages.sh + platform/ios/scripts/deploy-packages-cn.sh - save-dependencies - collect-xcode-build-logs - upload-xcode-build-logs diff --git a/platform/ios/scripts/deploy-packages-cn.sh b/platform/ios/scripts/deploy-packages-cn.sh new file mode 100644 index 0000000000..82894ae746 --- /dev/null +++ b/platform/ios/scripts/deploy-packages-cn.sh @@ -0,0 +1,51 @@ +#!/usr/bin/env bash + +set -e +set -o pipefail +set -u + +# dynamic environment variables: +# VERSION_TAG={determined automatically}: Version tag in format ios-vX.X.X-pre.X +# GITHUB_RELEASE=true: Upload to github +# BINARY_DIRECTORY=build/ios/deploy: Directory in which to save test packages + +# environment variables and dependencies: +# - You must run "mbx auth ..." before running +# - Set GITHUB_TOKEN to a GitHub API access token in your environment to use GITHUB_RELEASE +# - "wget" is required for downloading the zip files from s3 +# - The "github-release" command is required to use GITHUB_RELEASE + +function step { >&2 echo -e "\033[1m\033[36m* $@\033[0m"; } +function finish { >&2 echo -en "\033[0m"; } +trap finish EXIT + +buildPackageStyle() { + local package=$1 style="" + if [[ ${#} -eq 2 ]]; then + style="$2" + fi + step "Building: make ${package} ${style}" + make ${package} + step "Publishing ${package} with ${style}" + local file_name="" + if [ -z ${style} ] + then + ./platform/ios/scripts/publish-cn.sh "${PUBLISH_VERSION}" + file_name=mapbox-ios-sdk-${PUBLISH_VERSION}.zip + else + ./platform/ios/scripts/publish-cn.sh "${PUBLISH_VERSION}" ${style} + file_name=mapbox-ios-sdk-${PUBLISH_VERSION}-${style}.zip + fi +PUBLISH_VERSION=$( echo ${VERSION_TAG} | sed 's/^ios-v//' ) +git checkout ${VERSION_TAG} + +step "Deploying version ${PUBLISH_VERSION}…" +# +make clean && make distclean +npm install --ignore-scripts +mkdir -p ${BINARY_DIRECTORY} + +buildPackageStyle "iframework" "symbols-dynamic" +buildPackageStyle "iframework SYMBOLS=NO" "dynamic" + +step "Finished deploying ${PUBLISH_VERSION} in $(($SECONDS / 60)) minutes and $(($SECONDS % 60)) seconds" diff --git a/platform/ios/scripts/deploy-packages.sh b/platform/ios/scripts/deploy-packages.sh index 82894ae746..01c666db34 100755 --- a/platform/ios/scripts/deploy-packages.sh +++ b/platform/ios/scripts/deploy-packages.sh @@ -30,21 +30,87 @@ buildPackageStyle() { local file_name="" if [ -z ${style} ] then - ./platform/ios/scripts/publish-cn.sh "${PUBLISH_VERSION}" + ./platform/ios/scripts/publish.sh "${PUBLISH_VERSION}" file_name=mapbox-ios-sdk-${PUBLISH_VERSION}.zip else - ./platform/ios/scripts/publish-cn.sh "${PUBLISH_VERSION}" ${style} + ./platform/ios/scripts/publish.sh "${PUBLISH_VERSION}" ${style} file_name=mapbox-ios-sdk-${PUBLISH_VERSION}-${style}.zip fi + step "Downloading ${file_name} from s3 to ${BINARY_DIRECTORY}" + wget -O ${BINARY_DIRECTORY}/${file_name} http://mapbox.s3.amazonaws.com/mapbox-gl-native/ios/builds/${file_name} + if [[ "${GITHUB_RELEASE}" == true ]]; then + step "Uploading ${file_name} to GitHub" + github-release upload \ + --tag "ios-v${PUBLISH_VERSION}" \ + --name ${file_name} \ + --file "${BINARY_DIRECTORY}/${file_name}" > /dev/null + fi +} + +export TRAVIS_REPO_SLUG=mapbox-gl-native +export GITHUB_USER=mapbox +export GITHUB_REPO=mapbox-gl-native +export BUILDTYPE=Release + +VERSION_TAG=${VERSION_TAG:-''} +PUBLISH_VERSION= +BINARY_DIRECTORY=${BINARY_DIRECTORY:-build/ios/deploy} +GITHUB_RELEASE=${GITHUB_RELEASE:-true} +PUBLISH_PRE_FLAG='' + +if [[ -z `which github-release` ]]; then + step "Installing github-release…" + brew install github-release + if [ -z `which github-release` ]; then + echo "Unable to install github-release. See: https://github.com/aktau/github-release" + exit 1 + fi +fi + +if [[ ${GITHUB_RELEASE} = "true" ]]; then + GITHUB_RELEASE=true # Assign bool, not just a string +fi + +if [[ -z ${VERSION_TAG} ]]; then + step "Determining version number from most recent relevant git tag…" + VERSION_TAG=$( git describe --tags --match=ios-v*.*.* --abbrev=0 ) + echo "Found tag: ${VERSION_TAG}" +fi + +if [[ $( echo ${VERSION_TAG} | grep --invert-match ios-v ) ]]; then + echo "Error: ${VERSION_TAG} is not a valid iOS version tag" + echo "VERSION_TAG should be in format: ios-vX.X.X-pre.X" + exit 1 +fi + +if github-release info --tag ${VERSION_TAG} | grep --quiet "draft: ✗"; then + echo "Error: ${VERSION_TAG} has already been published on GitHub" + echo "See: https://github.com/${GITHUB_USER}/${GITHUB_REPO}/releases/tag/${VERSION_TAG}" + exit 1 +fi + PUBLISH_VERSION=$( echo ${VERSION_TAG} | sed 's/^ios-v//' ) git checkout ${VERSION_TAG} step "Deploying version ${PUBLISH_VERSION}…" -# + make clean && make distclean npm install --ignore-scripts mkdir -p ${BINARY_DIRECTORY} +if [[ "${GITHUB_RELEASE}" == true ]]; then + step "Create GitHub release…" + if [[ $( echo ${PUBLISH_VERSION} | awk '/[0-9]-/' ) ]]; then + PUBLISH_PRE_FLAG='--pre-release' + fi + RELEASE_NOTES=$( ./platform/ios/scripts/release-notes.js github ) + github-release release \ + --tag "ios-v${PUBLISH_VERSION}" \ + --name "ios-v${PUBLISH_VERSION}" \ + --draft ${PUBLISH_PRE_FLAG} \ + --description "${RELEASE_NOTES}" +fi + buildPackageStyle "iframework" "symbols-dynamic" buildPackageStyle "iframework SYMBOLS=NO" "dynamic" |