ultrasonic-app-subsonic-and.../.circleci/config.yml

75 lines
2.1 KiB
YAML

version: 2
jobs:
build:
docker:
- image: circleci/android:api-27-alpha
working_directory: ~/ultrasonic
envoronment:
JVM_OPTS: -Xmx3200m
steps:
- checkout
- restore_cache:
key: gradle-cache-{{ checksum "dependencies.gradle" }}
- run:
name: checkstyle
command: ./gradlew -Pqc ktlintCheck
- run:
name: build
command: ./gradlew assembleDebug
- run:
name: unit-tests
command: |
./gradlew :subsonic-api:test :ultrasonic:testDebugUnitTest
./gradlew jacocoFullReport
bash <(curl -s https://codecov.io/bash)
- run:
name: lint
command: ./gradlew lint
- run:
name: static analysis
command: ./gradlew -Pqc detektCheck
- save_cache:
paths:
- ~/.gradle
key: gradle-cache-{{ checksum "dependencies.gradle" }}
- store_artifacts:
path: ultrasonic/build/reports
path: subsonic-api/build/reports
destination: reports
- store_artifacts:
path: build/reports/jacoco/jacocoFullReport/
push_translations:
docker:
- image: circleci/python:3.6
working_directory: ~/ultrasonic
steps:
- checkout
- run:
name: install transifex client
command: |
python -m venv ~/venv
. ~/venv/bin/activate
pip install transifex-client
- run:
name: configure transifex client
command: echo $'[https://www.transifex.com]\nhostname = https://www.transifex.com\nusername = api\npassword = '"${TRANSIFEX_PASSWORD}"$'\n' > ~/.transifexrc
- run:
name: push changes in translation files
command: |
. ~/venv/bin/activate
tx push -st
workflows:
version: 2
build_and_push_translations:
jobs:
- build
- push_translations:
requires:
- build
filters:
branches:
only:
- develop
- master