-
Notifications
You must be signed in to change notification settings - Fork 41
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add publish script to check for correct branch/status and correct version/tag
- Loading branch information
Showing
3 changed files
with
52 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
# A script to verify that the repo is up to date and the versions are correct and then runs the pod trunk push command | ||
|
||
|
||
|
||
constants=$(<tealium/core/TealiumConstants.swift) | ||
regex="^.*public static let libraryVersion \= \"([0-9\.]*)\"" | ||
|
||
|
||
if [[ $constants =~ $regex ]] | ||
then | ||
versionConstant=${BASH_REMATCH[1]} | ||
else | ||
echo "Couldn't match the library version, exiting" | ||
exit 1 | ||
fi | ||
echo Version Constant $versionConstant | ||
branch_name="$(git rev-parse --abbrev-ref HEAD)" | ||
echo Current branch $branch_name | ||
if [ $branch_name != "main" ] | ||
then | ||
echo "Check out to main branch before trying to publish. Current branch: ${branch_name}" | ||
exit 1 | ||
fi | ||
|
||
git fetch --tags | ||
if ! git diff --quiet remotes/origin/main | ||
then | ||
echo "Make sure you are up to date with the remote before publishing" | ||
exit 1 | ||
fi | ||
|
||
latestTag=$(git describe --tags --abbrev=0) | ||
|
||
echo Latest tag $latestTag | ||
if [ $latestTag != $versionConstant ] | ||
then | ||
echo "The latest published tag \"${latestTag}\" is different from the version constant \"${versionConstant}\".\nDid you forget to add the tag to the release or did you forget to update the Constant?" | ||
exit 1 | ||
fi | ||
|
||
echo "All checks are passed, ready to release to CocoaPods" | ||
|
||
echo "Do you wish to publish to CocoaPods?" | ||
select yn in "Yes" "No"; do | ||
case $yn in | ||
Yes ) echo "Ok, running \"pod trunk push\" now."; pod trunk push; break;; | ||
No ) echo "Ok, skip the release for now."; exit;; | ||
esac | ||
done | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters