TiebaLite/.circleci/config.yml

82 lines
2.8 KiB
YAML
Raw Normal View History

2022-02-05 23:17:28 +08:00
version: 2.1
orbs:
app-center: rakutentech/app-center@0.1.3
2020-04-05 13:45:50 +08:00
jobs:
build:
2020-04-05 15:08:33 +08:00
working_directory: ~/code
docker:
- image: circleci/android:api-30-ndk
2020-04-05 15:08:33 +08:00
environment:
JVM_OPTS: -Xmx4G
2020-04-05 13:45:50 +08:00
steps:
- checkout
- run:
2020-04-05 15:08:33 +08:00
name: Create release.keystore.jks
command: openssl aes-256-cbc -d -in "${releaseKeyStore}.encrypted" -k $RELEASE_ENCRYPT_SECRET_KEY -md md5 >> $releaseKeyStore
- run:
name: Create keystore.properies
command: printf 'releaseKeyAlias=%s\nreleaseKeyPassword=%s\nreleaseKeyStore=%s\nreleaseStorePassword=%s' $releaseKeyAlias $releaseKeyPassword $releaseKeyStore $releaseStorePassword > keystore.properties
- restore_cache:
key: jars-{{ checksum "build.gradle" }}-{{ checksum "app/build.gradle" }}
- run:
name: Fix 'Permission denied'
command: chmod +x ./gradlew
- run:
name: Download Dependencies
command: ./gradlew androidDependencies
- save_cache:
paths:
- ~/.gradle
key: jars-{{ checksum "build.gradle" }}-{{ checksum "app/build.gradle" }}
- run:
name: Initial build
2021-02-01 19:17:12 +08:00
command: ./gradlew clean assembleRelease --no-daemon --stacktrace
2020-04-05 15:08:33 +08:00
- store_artifacts:
2021-02-01 19:17:12 +08:00
path: app/build/outputs/apk/release/
destination: apk/
- store_artifacts:
path: app/build/outputs/mapping/release/
destination: mapping/
2022-02-05 23:17:28 +08:00
- run:
name: Define Environment Variable at Runtime
command: |
2022-02-06 20:20:55 +08:00
echo "export APP_VERSION_NAME=\$(cat ./app/build/outputs/apk/release/output-metadata.json | jq '.elements[0].versionName' | awk -F '\"' '{print \$2}')" >> $BASH_ENV
echo "export APP_OUTPUT_FILE=\$(cat ./app/build/outputs/apk/release/output-metadata.json | jq '.elements[0].outputFile' | awk -F '\"' '{print \$2}')" >> $BASH_ENV
echo "export APP_VERSION_CODE=\$(cat ./app/build/outputs/apk/release/output-metadata.json | jq '.elements[0].versionCode'" >> $BASH_ENV
2022-02-05 23:17:28 +08:00
source $BASH_ENV
2022-02-06 20:20:55 +08:00
workflows:
version: 2
build_and_upload:
jobs:
- build
- app-center/publish:
working_directory: ~/code/app/build/outputs/apk/release
2022-02-05 23:17:28 +08:00
name: Publish to App Center
group: HuanCheng65
file: $APP_OUTPUT_FILE
app: TiebaLite
token: $APP_CENTER_TOKEN
notes: $APP_VERSION_NAME
2022-02-06 20:20:55 +08:00
- app-center/mapping:
working_directory: ~/code/app/build/outputs/mapping/release
2022-02-05 23:17:28 +08:00
name: Upload to App Center
file: mapping.txt
app: TiebaLite
token: $APP_CENTER_TOKEN
version-name: $APP_VERSION_NAME
version-code: $APP_VERSION_CODE
2022-02-06 20:20:55 +08:00
workflows:
version: 2
build_and_upload:
jobs:
- build
- upload_apk
- upload_mapping