65 lines
2.8 KiB
YAML
65 lines
2.8 KiB
YAML
stages:
|
|
- build
|
|
- deploy
|
|
- release
|
|
|
|
build apk:
|
|
stage: build
|
|
image: ubuntu:18.04
|
|
before_script:
|
|
- apt-get -y update && apt-get -y install build-essential ca-certificates curl git gpg-agent openjdk-8-jdk nodejs software-properties-common wget zipalign
|
|
- export BUILD_VERSION=$($CI_PROJECT_DIR/gradlew -q printVersionName --console=plain | tail -1)
|
|
artifacts:
|
|
paths:
|
|
- $CI_PROJECT_DIR/bin/browser-*-release__arm.apk
|
|
- $CI_PROJECT_DIR/bin/browser-*-release__arm64.apk
|
|
expire_in: 1 week
|
|
script:
|
|
- export PATH=/usr/bin:$PATH
|
|
- echo "$PGP_PRIVATE_KEY" | gpg --batch --import
|
|
- curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \
|
|
echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list && \
|
|
echo "deb https://dl.bintray.com/sobolevn/deb git-secret main" | tee -a /etc/apt/sources.list && \
|
|
wget -O - https://api.bintray.com/users/sobolevn/keys/gpg/public.key | apt-key add -
|
|
- apt-get -y update && apt-get -y install yarn git-secret
|
|
- git secret reveal
|
|
- git clone https://github.com/lbryio/lbry-react-native
|
|
- yarn global add react-native-cli
|
|
- cd lbry-react-native
|
|
- yarn
|
|
- rm -rf android # temporary, should be a submodule init?
|
|
- ln -s $CI_PROJECT_DIR android # create symbolic link
|
|
- cd android
|
|
- ./release.sh
|
|
|
|
deploy build.lbry.io:
|
|
image: python:latest
|
|
stage: deploy
|
|
dependencies:
|
|
- build apk
|
|
before_script:
|
|
- pip install awscli
|
|
- export BUILD_VERSION=$(cat $CI_PROJECT_DIR/src/main/python/main.py | grep --color=never -oP '([0-9]+\.?)+')
|
|
- export BUILD_APK_FILENAME__32=browser-$BUILD_VERSION-release__arm.apk
|
|
- export BUILD_APK_FILENAME__64=browser-$BUILD_VERSION-release__arm64.apk
|
|
script:
|
|
- aws s3 cp bin/$BUILD_APK_FILENAME__64 s3://build.lbry.io/android/build-${CI_PIPELINE_IID}_commit-${CI_COMMIT_SHA:0:7}/$BUILD_APK_FILENAME__64
|
|
- aws s3 cp bin/$BUILD_APK_FILENAME__32 s3://build.lbry.io/android/build-${CI_PIPELINE_IID}_commit-${CI_COMMIT_SHA:0:7}/$BUILD_APK_FILENAME__32
|
|
- aws s3 cp bin/$BUILD_APK_FILENAME__64 s3://build.lbry.io/android/push.apk
|
|
|
|
release apk:
|
|
image: python:latest
|
|
stage: release
|
|
only:
|
|
- tags
|
|
dependencies:
|
|
- build apk
|
|
before_script:
|
|
- pip install awscli githubrelease
|
|
- export BUILD_VERSION=$(cat $CI_PROJECT_DIR/src/main/python/main.py | grep --color=never -oP '([0-9]+\.?)+')
|
|
- export BUILD_APK_FILENAME__32=browser-$BUILD_VERSION-release__arm.apk
|
|
- export BUILD_APK_FILENAME__64=browser-$BUILD_VERSION-release__arm64.apk
|
|
script:
|
|
- githubrelease release lbryio/lbry-android create $CI_COMMIT_TAG --publish bin/$BUILD_APK_FILENAME__64 bin/$BUILD_APK_FILENAME__32
|
|
- githubrelease release lbryio/lbry-android edit $CI_COMMIT_TAG --draft
|
|
- aws s3 cp bin/$BUILD_APK_FILENAME__64 s3://build.lbry.io/android/latest.apk
|