[ios, build] Automatically deploy to CocoaPods
This commit is contained in:
14
circle.yml
14
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
|
||||
|
||||
44
platform/ios/scripts/deploy-to-cocoapods.sh
Executable file
44
platform/ios/scripts/deploy-to-cocoapods.sh
Executable file
@@ -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
|
||||
Reference in New Issue
Block a user