summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Wray <jason@mapbox.com>2019-07-25 16:04:35 -0700
committerJason Wray <jason@mapbox.com>2019-07-30 13:58:30 -0700
commitaf32a452e08268cec7857246e2e2e2aecc0a1a1c (patch)
tree4a1f694e1b22f518c6afe7ba1051cedecd9c7d78
parent061bc59d1feb68132412913bb6412bc65f7c8c6b (diff)
downloadqtlocation-mapboxgl-af32a452e08268cec7857246e2e2e2aecc0a1a1c.tar.gz
[ios, build] Automatically deploy to CocoaPods
-rw-r--r--circle.yml14
-rwxr-xr-xplatform/ios/scripts/deploy-to-cocoapods.sh44
2 files changed, 58 insertions, 0 deletions
diff --git a/circle.yml b/circle.yml
index 422dbfc762..ff35e4456d 100644
--- a/circle.yml
+++ b/circle.yml
@@ -1074,9 +1074,18 @@ jobs:
if [[ $CIRCLE_BRANCH == master ]]; then
platform/ios/scripts/deploy-snapshot.sh
fi
+ background: true
+ - deploy:
+ name: Deploy to Mapbox CocoaPods spec repo
+ command: |
+ if [[ $CIRCLE_BRANCH == master ]]; then
+ platform/ios/scripts/deploy-to-cocoapods.sh
+ fi
+ background: true
- run:
name: Record size
command: platform/ios/scripts/metrics.sh
+ background: true
- run:
name: Trigger metrics
command: |
@@ -1087,6 +1096,7 @@ jobs:
echo "MOBILE_METRICS_TOKEN not provided"
fi
fi
+ background: true
- save-dependencies
- collect-xcode-build-logs
- upload-xcode-build-logs
@@ -1124,6 +1134,10 @@ jobs:
export VERSION_TAG=${CIRCLE_TAG}
export GITHUB_TOKEN=${DANGER_GITHUB_API_TOKEN}
platform/ios/scripts/deploy-packages.sh
+ - deploy:
+ name: Deploy to CocoaPods
+ command: platform/ios/scripts/deploy-to-cocoapods.sh
+ background: true
- save-dependencies
- collect-xcode-build-logs
- upload-xcode-build-logs
diff --git a/platform/ios/scripts/deploy-to-cocoapods.sh b/platform/ios/scripts/deploy-to-cocoapods.sh
new file mode 100755
index 0000000000..27eb1fbabe
--- /dev/null
+++ b/platform/ios/scripts/deploy-to-cocoapods.sh
@@ -0,0 +1,44 @@
+#!/usr/bin/env bash
+
+# This relies on either:
+# 1. You being authenticated locally with CocoaPods trunk.
+# 2. The `COCOAPODS_TRUNK_TOKEN` environment variable being set.
+
+set -euo pipefail
+
+function step { >&2 echo -e "\033[1m\033[36m* $@\033[0m"; }
+function finish { >&2 echo -en "\033[0m"; }
+trap finish EXIT
+
+CIRCLE_TAG=${CIRCLE_TAG:-""}
+
+step "Pushing release to CocoaPods trunk…"
+
+if [[ $CIRCLE_TAG ]]; then
+ pod trunk push platform/ios/Mapbox-iOS-SDK.podspec --allow-warnings
+else
+ echo "Skipping push to CocoaPods trunk for untagged build"
+fi
+
+step "Pushing release/builds to Mapbox podspecs repo…"
+
+if [[ -z $(pod repo list | grep -i mapbox-public) ]]; then
+ pod repo add mapbox-public https://github.com/mapbox/pod-specs
+else
+ echo "Found existing mapbox-public podspecs repo"
+fi
+
+if [[ -z $(git config --global user.email) && $CI ]]; then
+ echo "Setting machine user as git committer"
+ git config --global user.email "MapboxCI@users.noreply.github.com"
+fi
+
+if [[ $CIRCLE_TAG ]]; then
+ pod repo push mapbox-public platform/ios/Mapbox-iOS-SDK.podspec --allow-warnings
+ pod repo push mapbox-public platform/ios/Mapbox-iOS-SDK-stripped.podspec --allow-warnings
+else
+ echo "Skipping push of release podspecs to mapbox-public for untagged build"
+
+ # pod repo push mapbox-public platform/ios/Mapbox-iOS-SDK-snapshot-dynamic.podspec --allow-warnings
+ echo "Skipping push of snapshot to mapbox-public until we have a way to update the versions in the snapshot podspec"
+fi