74 lines
2.6 KiB
YAML
74 lines
2.6 KiB
YAML
version: 2
|
|
jobs:
|
|
test:
|
|
docker:
|
|
- image: registry.gitlab.com/fdroid/ci-images-client:latest
|
|
steps:
|
|
- checkout
|
|
- restore_cache:
|
|
key: gradle-{{ checksum "build.gradle" }}-{{ checksum ".circleci/config.yml" }}
|
|
- run: export GRADLE_USER_HOME=$PWD/.gradle
|
|
- run: echo y | sdkmanager "platforms;android-$(sed -n 's,.*compileSdkVersion\s*\([0-9][0-9]*\).*,\1,p' build.gradle)" > /dev/null
|
|
- run: ./gradlew lintGitDebug
|
|
- save_cache:
|
|
paths:
|
|
- .gradle/caches
|
|
- .gradle/wrapper
|
|
key: gradle-{{ checksum "build.gradle" }}-{{ checksum ".circleci/config.yml" }}
|
|
- store_artifacts:
|
|
path: build/outputs/apk/standard
|
|
destination: apk
|
|
build:
|
|
docker:
|
|
- image: registry.gitlab.com/fdroid/ci-images-client:latest
|
|
steps:
|
|
- checkout
|
|
- restore_cache:
|
|
key: android
|
|
- run: export GRADLE_USER_HOME=$PWD/.gradle
|
|
- run: echo y | sdkmanager "platforms;android-$(sed -n 's,.*compileSdkVersion\s*\([0-9][0-9]*\).*,\1,p' build.gradle)" > /dev/null
|
|
# build
|
|
- run: ./gradlew assembleGit
|
|
- save_cache:
|
|
paths:
|
|
- ~/.android
|
|
key: android
|
|
- store_artifacts:
|
|
path: build/outputs/apk/git
|
|
|
|
publish:
|
|
docker:
|
|
- image: registry.gitlab.com/fdroid/ci-images-client:latest
|
|
steps:
|
|
- checkout
|
|
- restore_cache:
|
|
key: android
|
|
- run: export GRADLE_USER_HOME=$PWD/.gradle
|
|
- run: echo y | sdkmanager "platforms;android-$(sed -n 's,.*compileSdkVersion\s*\([0-9][0-9]*\).*,\1,p' build.gradle)" > /dev/null
|
|
# workaround for fdroid nightly circleci bug
|
|
- run: sed -i "s/os.getenv('CIRCLE_REPOSITORY_URL')/\"https:\/\/github.com\/kriztan\/Pix-Art-Messenger\"/" /usr/lib/python3/dist-packages/fdroidserver/nightly.py
|
|
# generate version number
|
|
- run: sed -i "s/^\(\s*versionCode\s*\).*$/\1$(git rev-list --first-parent --count HEAD)/" build.gradle
|
|
- run: sed -i "0,/versionName/s/^\(\s*versionName\).*/\1 \"$(printf '%s-%05d' $(git describe --tag --abbrev=0) $(git rev-list --first-parent --count HEAD))\"/" build.gradle
|
|
- run: cat -n build.gradle
|
|
# build
|
|
- run: ./gradlew assembleGit
|
|
# publish on nightly fdroid repo
|
|
- run: fdroid nightly
|
|
- save_cache:
|
|
paths:
|
|
- ~/.android
|
|
key: android
|
|
|
|
workflows:
|
|
version: 2
|
|
test_build:
|
|
jobs:
|
|
- build:
|
|
filters:
|
|
branches:
|
|
ignore: master
|
|
- publish:
|
|
filters:
|
|
branches:
|
|
only: master
|