element-ios/Tools/Release/buildRelease.sh
manuroe 377310ef36 buildRelease.sh: Pass a git_tag parameter to fastlane
because fastlane `git_branch` method can fail.

It fails when using ./buildRelease.sh with a tag.
2020-09-08 17:39:51 +02:00

57 lines
1.2 KiB
Bash
Executable file

#!/bin/sh
# Use sudo less Ruby
export GEM_HOME=$HOME/.gem
export PATH=$GEM_HOME/bin:$PATH
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 )
if [ -e $BUILD_DIR ]; then
echo "Error: Folder ${BUILD_DIR} already exists"
exit 1
fi
# Fastlane update
gem install bundler
bundle install
bundle update
# 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)
git clone $REPO_URL --depth=1 --branch $TAG
cd $REPO_NAME
# Use appropriated dependencies according to the current branch
bundle exec fastlane point_dependencies_to_same_feature
# Build
bundle exec fastlane app_store build_number:$BUILD_NUMBER git_tag:$TAG
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