element-ios/Tools/Release/buildRelease.sh

72 lines
1.6 KiB
Bash
Raw Normal View History

2019-04-26 09:08:35 +00:00
#!/bin/sh
2019-04-26 09:30:21 +00:00
# Use sudo less Ruby
2019-04-26 09:08:35 +00:00
export GEM_HOME=$HOME/.gem
export PATH=$GEM_HOME/bin:$PATH
2019-04-26 09:30:21 +00:00
2019-04-26 09:08:35 +00:00
if [ ! $# -eq 1 ]; then
echo "Usage: ./buildRelease.sh [tag or branch]"
exit 1
fi
if [ ! -n "$APPLE_ID" ]; then
echo "You must set the APPLE_ID env var before calling this script"
echo 'export APPLE_ID="foo.bar@apple.com"'
exit 1
fi
TAG=$1
BUILD_DIR="build"/$TAG
BUILD_NUMBER=$( date +%Y%m%d%H%M%S )
# Enable this flag to build the ipa from the current local source code. Not git clone
# LOCAL_SOURCE=true
2019-04-26 09:08:35 +00:00
if [ -e $BUILD_DIR ]; then
echo "Error: Folder ${BUILD_DIR} already exists"
exit 1
fi
2019-04-26 09:08:35 +00:00
# Checkout the source to build
mkdir -p $BUILD_DIR
cd $BUILD_DIR
REPO_URL=$(git ls-remote --get-url origin)
REPO_NAME=$(basename -s .git $REPO_URL)
if [ "$LOCAL_SOURCE" = true ]; then
echo "Reuse source code of the local copy..."
rm -rf /tmp/$REPO_NAME
cp -R ../../../.. /tmp/$REPO_NAME
mv /tmp/$REPO_NAME .
else
echo "Git clone $REPO_URL with branch/tag $TAG..."
git clone $REPO_URL --depth=1 --branch $TAG
fi
cd $REPO_NAME
# Fastlane update
gem install bundler
bundle install
bundle update
# Update fastlane plugins
bundle exec fastlane update_plugins
2020-08-28 10:11:46 +00:00
# Use appropriated dependencies according to the current branch
if [ "$LOCAL_SOURCE" != true ]; then
2020-08-28 10:11:46 +00:00
bundle exec fastlane point_dependencies_to_same_feature
fi
2019-04-26 09:08:35 +00:00
# Build
bundle exec fastlane app_store build_number:$BUILD_NUMBER git_tag:$TAG
2019-04-26 09:08:35 +00:00
if [ -e out/Riot.ipa ]; then
# Here is the artefact
cp out/Riot.ipa ../../../Riot-$TAG-$BUILD_NUMBER.ipa
echo "Riot-$TAG-$BUILD_NUMBER.ipa has been successfully built"
fi