168 lines
4.0 KiB
YAML
168 lines
4.0 KiB
YAML
kind: pipeline
|
|
type: docker
|
|
name: debug
|
|
|
|
steps:
|
|
- name: restore-cache
|
|
image: drillster/drone-volume-cache
|
|
settings:
|
|
restore: true
|
|
mount:
|
|
- .gradle/caches
|
|
- .gradle/wrapper
|
|
volumes:
|
|
- name: cache
|
|
path: /cache
|
|
|
|
- name: fetch-tags
|
|
image: drone/git:latest
|
|
commands:
|
|
- git fetch --tags
|
|
|
|
- name: build
|
|
image: git.cuernodehipnos.es/marown/android-sdk-docker:latest
|
|
environment:
|
|
GRADLE_USER_HOME: /drone/src/.gradle
|
|
commands:
|
|
# Build
|
|
- ./gradlew buildDebug
|
|
|
|
- name: test
|
|
image: git.cuernodehipnos.es/marown/android-sdk-docker:latest
|
|
privileged: true
|
|
environment:
|
|
GRADLE_USER_HOME: /drone/src/.gradle
|
|
commands:
|
|
# Create and run emulator
|
|
- echo "no" | avdmanager --verbose create avd --force --name "generic_35" --package "system-images;android-35;google_apis;x86_64" --tag "google_apis" --abi "x86_64"
|
|
- emulator -avd "generic_35" -no-window -no-audio -no-boot-anim -netdelay none -no-snapshot -wipe-data -partition-size 1024 &
|
|
# Wait for emulator to be ready
|
|
- android-wait-for-emulator.sh
|
|
# Run tests
|
|
- ./gradlew connectedCheck -i
|
|
|
|
- name: assemble
|
|
image: git.cuernodehipnos.es/marown/android-sdk-docker:latest
|
|
environment:
|
|
GRADLE_USER_HOME: /drone/src/.gradle
|
|
commands:
|
|
# Assemble APK
|
|
- ./gradlew assembleDebug
|
|
|
|
#- name: code-analysis
|
|
# image: drone-plugins/sonarqube-scanner:latest
|
|
# settings:
|
|
# sonar_host:
|
|
# from_secret: sonar_host
|
|
# sonar_token:
|
|
# from_secret: sonar_token
|
|
|
|
- name: rebuild-cache
|
|
image: drillster/drone-volume-cache
|
|
settings:
|
|
rebuild: true
|
|
mount:
|
|
- .gradle/caches
|
|
- .gradle/wrapper
|
|
volumes:
|
|
- name: cache
|
|
path: /cache
|
|
|
|
volumes:
|
|
- name: cache
|
|
host:
|
|
path: /share/CACHEDEV1_DATA/homes/admin/drone/cache
|
|
|
|
trigger:
|
|
event:
|
|
- push
|
|
- pull_request
|
|
---
|
|
kind: pipeline
|
|
type: docker
|
|
name: release
|
|
|
|
steps:
|
|
- name: restore-cache
|
|
image: drillster/drone-volume-cache
|
|
settings:
|
|
restore: true
|
|
mount:
|
|
- .gradle/caches
|
|
- .gradle/wrapper
|
|
volumes:
|
|
- name: cache
|
|
path: /cache
|
|
|
|
- name: fetch-tags
|
|
image: drone/git:latest
|
|
commands:
|
|
- git fetch --tags
|
|
|
|
- name: build
|
|
image: git.cuernodehipnos.es/marown/android-sdk-docker:latest
|
|
environment:
|
|
GRADLE_USER_HOME: /drone/src/.gradle
|
|
commands:
|
|
# Build
|
|
- ./gradlew buildRelease
|
|
|
|
- name: assemble
|
|
image: git.cuernodehipnos.es/marown/android-sdk-docker:latest
|
|
environment:
|
|
GRADLE_USER_HOME: /drone/src/.gradle
|
|
RELEASE_KEY_ALIAS:
|
|
from_secret: release_key_alias
|
|
RELEASE_KEY_PASSWORD:
|
|
from_secret: release_key_password
|
|
RELEASE_KEYSTORE_BASE64:
|
|
from_secret: release_keystore_base64
|
|
RELEASE_STORE_FILE:
|
|
from_secret: release_store_file
|
|
RELEASE_STORE_PASSWORD:
|
|
from_secret: release_store_password
|
|
commands:
|
|
# Encrypt keystore & set $RELEASE_KEYSTORE_BASE64 environment variable in Drone CI
|
|
# - openssl base64 -A -in keystore.jks
|
|
# Decrypt keystore
|
|
- echo $RELEASE_KEYSTORE_BASE64 | base64 -d > SWADroid/keystore.jks
|
|
# Assemble APK
|
|
- ./gradlew assembleRelease
|
|
|
|
- name: gitea-release
|
|
image: plugins/gitea-release
|
|
settings:
|
|
api_key:
|
|
from_secret: gitea_api_key
|
|
base_url: https://git.cuernodehipnos.es
|
|
files:
|
|
- SWADroid/build/outputs/apk/release/SWADroid-release.apk
|
|
- SWADroid/build/outputs/apk/release/SWADroid-release.apk.idsig
|
|
checksum:
|
|
- md5
|
|
- sha1
|
|
- sha256
|
|
- sha512
|
|
- adler32
|
|
- crc32
|
|
|
|
- name: rebuild-cache
|
|
image: drillster/drone-volume-cache
|
|
settings:
|
|
rebuild: true
|
|
mount:
|
|
- .gradle/caches
|
|
- .gradle/wrapper
|
|
volumes:
|
|
- name: cache
|
|
path: /cache
|
|
|
|
volumes:
|
|
- name: cache
|
|
host:
|
|
path: /share/CACHEDEV1_DATA/homes/admin/drone/cache
|
|
|
|
trigger:
|
|
event:
|
|
- tag
|