A step towards artifacts

This commit is contained in:
Ali 2019-11-04 01:49:55 +04:00
parent 9f94329397
commit eb8c238946
4 changed files with 85 additions and 25 deletions

View File

@ -1,5 +1,6 @@
stages:
- build
- deploy
variables:
LANG: "en_US.UTF-8"
@ -18,6 +19,10 @@ internal:
- bash buildbox/build-telegram.sh hockeyapp
environment:
name: internal
artifacts:
paths:
- build/artifacts
expire_in: 1 week
beta_testflight:
tags:
@ -31,3 +36,33 @@ beta_testflight:
- bash buildbox/build-telegram.sh appstore
environment:
name: testflight_llc
artifacts:
paths:
- build/artifacts
expire_in: 1 week
deploy_internal:
tags:
- ios_internal
stage: deploy
only:
- master
except:
- tags
script:
- bash buildbox/deploy-telegram.sh hockeyapp
environment:
name: internal
deploy_beta_testflight:
tags:
- ios_beta
stage: deploy
only:
- beta
except:
- tags
script:
- bash buildbox/deploy-telegram.sh appstore
environment:
name: testflight_llc

View File

@ -5,7 +5,7 @@ set -e
BUILD_TELEGRAM_VERSION="1"
MACOS_VERSION="10.15"
XCODE_VERSION="11.1"
XCODE_VERSION="11.2"
GUEST_SHELL="bash"
VM_BASE_NAME="macos$(echo $MACOS_VERSION | sed -e 's/\.'/_/g)_Xcode$(echo $XCODE_VERSION | sed -e 's/\.'/_/g)"
@ -173,24 +173,11 @@ scp -o LogLevel=ERROR -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/nul
ssh -o LogLevel=ERROR -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null telegram@"$VM_IP" -o ServerAliveInterval=60 -t "export TELEGRAM_BUILD_APPSTORE_PASSWORD=\"$TELEGRAM_BUILD_APPSTORE_PASSWORD\"; export TELEGRAM_BUILD_APPSTORE_TEAM_NAME=\"$TELEGRAM_BUILD_APPSTORE_TEAM_NAME\"; export TELEGRAM_BUILD_APPSTORE_USERNAME=\"$TELEGRAM_BUILD_APPSTORE_USERNAME\"; export BUILD_NUMBER=\"$BUILD_NUMBER\"; export COMMIT_ID=\"$COMMIT_ID\"; export COMMIT_AUTHOR=\"$COMMIT_AUTHOR\"; export BUCK_HTTP_CACHE=\"$BUCK_HTTP_CACHE\"; $GUEST_SHELL -l guest-build-telegram.sh $BUILD_CONFIGURATION" || true
if [ "$BUILD_CONFIGURATION" == "appstore" ]; then
ARCHIVE_PATH="$HOME/telegram-builds-archive"
DATE_PATH=$(date +%Y-%m-%d_%H-%M-%S)
ARCHIVE_BUILD_PATH="$ARCHIVE_PATH/$DATE_PATH"
mkdir -p "$ARCHIVE_PATH"
mkdir -p "$ARCHIVE_BUILD_PATH"
APPSTORE_IPA="Telegram-iOS-AppStoreLLC.ipa"
APPSTORE_DSYM_ZIP="Telegram-iOS-AppStoreLLC.app.dSYM.zip"
APPSTORE_TARGET_IPA="$ARCHIVE_BUILD_PATH/Telegram-iOS-AppStoreLLC.ipa"
APPSTORE_TARGET_DSYM_ZIP="$ARCHIVE_BUILD_PATH/Telegram-iOS-AppStoreLLC.app.dSYM.zip"
OUTPUT_PATH="build/artifacts"
rm -rf "$OUTPUT_PATH"
mkdir -p "$OUTPUT_PATH"
scp -o LogLevel=ERROR -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -pr telegram@"$VM_IP":"telegram-ios/*.ipa" "$ARCHIVE_BUILD_PATH/"
scp -o LogLevel=ERROR -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -pr telegram@"$VM_IP":"telegram-ios/*.zip" "$ARCHIVE_BUILD_PATH/"
elif [ "$BUILD_CONFIGURATION" == "verify" ]; then
VERIFY_IPA="Telegram-Verify-Build.ipa"
rm -f "$VERIFY_IPA"
scp -o LogLevel=ERROR -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -pr telegram@"$VM_IP":telegram-ios/Telegram-iOS-AppStoreLLC.ipa "./$VERIFY_IPA"
fi
scp -o LogLevel=ERROR -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -pr telegram@"$VM_IP":"telegram-ios/build/artifacts/*" "$OUTPUT_PATH/"
if [ -z "$RUNNING_VM" ]; then
if [ "$BUILD_MACHINE" == "linux" ]; then
@ -200,4 +187,8 @@ if [ -z "$RUNNING_VM" ]; then
prlctl stop "$VM_NAME" --kill
prlctl delete "$VM_NAME"
fi
fi
fi
if [ ! -f "$OUTPUT_PATH/Telegram.ipa" ]; then
exit 1
fi

View File

@ -0,0 +1,33 @@
#!/bin/bash
set -e
CONFIGURATION="$1"
if [ -z "$CONFIGURATION" ]; then
echo "Usage: sh deploy-telegram.sh CONFIGURATION"
exit 1
fi
if [ "$CONFIGURATION" == "hockeyapp" ]; then
echo "$CONFIGURATION"
elif [ "$CONFIGURATION" == "appstore" ]; then
echo "$CONFIGURATION"
else
echo "Unknown configuration $CONFIGURATION"
exit 1
fi
OUTPUT_PATH="build/artifacts"
IPA_PATH="$OUTPUT_PATH/Telegram.ipa"
DSYM_PATH="$OUTPUT_PATH/Telegram.DSYMs.zip"
if [ ! -f "$IPA_PATH" ]; then
echo "$IPA_PATH not found"
exit 1
fi
if [ ! -f "$DSYM_PATH" ]; then
echo "$DSYM_PATH not found"
exit 1
fi

View File

@ -108,14 +108,10 @@ else
if [ "$1" == "hockeyapp" ]; then
BUILD_ENV_SCRIPT="internal"
RESULT_IPA_NAME="Telegram-iOS-Hockeyapp-Internal.ipa"
RESULT_DSYM_NAME="Telegram-iOS-Hockeyapp-Internal.app.dSYM.zip"
FASTLANE_BUILD_CONFIGURATION="internalhockeyapp"
APP_TARGET="app_arm64"
elif [ "$1" == "appstore" ]; then
BUILD_ENV_SCRIPT="appstore"
RESULT_IPA_NAME="Telegram-iOS-AppStoreLLC.ipa"
RESULT_DSYM_NAME="Telegram-iOS-AppStoreLLC.app.dSYM.zip"
FASTLANE_BUILD_CONFIGURATION="testflight_llc"
APP_TARGET="app"
else
@ -124,8 +120,13 @@ else
fi
BUCK="$(pwd)/tools/buck" BUCK_HTTP_CACHE="$BUCK_HTTP_CACHE" LOCAL_CODESIGNING=1 sh "../telegram-ios-shared/buildbox/bin/$BUILD_ENV_SCRIPT.sh" make "$APP_TARGET"
cp "build/Telegram_signed.ipa" "./$RESULT_IPA_NAME"
cp "build/DSYMs.zip" "./$RESULT_DSYM_NAME"
OUTPUT_PATH="build/artifacts"
rm -rf "$OUTPUT_PATH"
mkdir -p "$OUTPUT_PATH"
cp "build/Telegram_signed.ipa" "./$OUTPUT_PATH/Telegram.ipa"
cp "build/DSYMs.zip" "./$OUTPUT_PATH/Telegram.DSYMs.zip"
export DELIVER_ITMSTRANSPORTER_ADDITIONAL_UPLOAD_PARAMETERS="-t DAV"
if [ "$1" == "appstore" ]; then