aboutsummaryrefslogtreecommitdiffstats
path: root/.gitlab-ci.yml
blob: ca171dde681f97efb8016ddf8dcfe3da0a3def96 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
image: registry.gitlab.com/fdroid/ci-images-client:latest

cache:
  paths:
    - .gradle/wrapper
    - .gradle/caches

stages:
  - build

before_script:
  - export GRADLE_USER_HOME=$PWD/.gradle
  - export ANDROID_COMPILE_SDK=`sed -n 's,.*compileSdkVersion\s*\([0-9][0-9]*\).*,\1,p' build.gradle`
  - echo y | sdkmanager "platforms;android-${ANDROID_COMPILE_SDK}" > /dev/null


build:
  stage: build
  #except:
  #- master
  script:
  # generate version number
  - export versionCode="$CI_JOB_ID"
  - export versionName="$(git describe --tag --abbrev=0)-${CI_JOB_ID}_${CI_COMMIT_REF_NAME}"
  - echo "set VersionCode '${versionCode}' and VersonName '${versionName}'"
  - sed -i "s/^\(\s*versionCode\s*\).*$/\1$versionCode/" build.gradle
  - sed -i "0,/versionName/s/^\(\s*versionName\).*/\1 \"$versionName\"/" build.gradle
  # build
  - ./gradlew assembleStandard
  artifacts:
    paths:
    - build/outputs/apk/standard

publish:
  stage: build
  only:
  #- master
  - master--not-build-on-my-repo
  script:
  # generate version number
  - export versionCode="$CI_JOB_ID"
  - export versionName="$(git describe --tag --abbrev=0)-${CI_JOB_ID}_${CI_COMMIT_REF_NAME}"
  - echo "set VersionCode '${versionCode}' and VersonName '${versionName}'"
  - sed -i "s/^\(\s*versionCode\s*\).*$/\1$versionCode/" build.gradle
  - sed -i "0,/versionName/s/^\(\s*versionName\).*/\1 \"$versionName\"/" build.gradle
  # build
  - ./gradlew assembleStandard
  # publish on nightly fdroid repo
  - fdroid nightly -v
  artifacts:
    paths:
    - build/outputs/apk/standard

after_script:
  # this file changes every time but should not be cached
  - rm -f $GRADLE_USER_HOME/caches/modules-2/modules-2.lock
  - rm -fr $GRADLE_USER_HOME/caches/*/plugin-resolution/