Merge remote-tracking branch 'origin/develop' into develop
This commit is contained in:
commit
97a3c3dadb
|
@ -7,19 +7,72 @@ before_script:
|
||||||
|
|
||||||
stages:
|
stages:
|
||||||
- build-and-test
|
- build-and-test
|
||||||
- test
|
- tag
|
||||||
|
|
||||||
|
.no-upload: &no-upload
|
||||||
|
stage: build-and-test
|
||||||
|
retry: 2
|
||||||
|
|
||||||
assembleDebug:
|
assembleDebug:
|
||||||
stage: build-and-test
|
<<: *no-upload
|
||||||
|
cache:
|
||||||
|
key: "${CI_COMMIT_TAG}"
|
||||||
|
paths:
|
||||||
|
- app/build/outputs/apk/fdroid/debug/app-fdroid-debug.apk
|
||||||
|
- app/build/outputs/apk/playstore/debug/app-playstore-debug.apk
|
||||||
|
policy: push
|
||||||
script:
|
script:
|
||||||
- ./gradlew assembleDebug
|
- ./gradlew assembleDebug
|
||||||
|
|
||||||
lintDebug:
|
lintDebug:
|
||||||
stage: build-and-test
|
<<: *no-upload
|
||||||
script:
|
script:
|
||||||
- ./gradlew -Pci --console=plain :app:lintFdroidDebug -PbuildDir=lint
|
- ./gradlew -Pci --console=plain :app:lintFdroidDebug -PbuildDir=lint
|
||||||
|
except:
|
||||||
|
- tags
|
||||||
|
|
||||||
debugTests:
|
debugTests:
|
||||||
stage: build-and-test
|
<<: *no-upload
|
||||||
script:
|
script:
|
||||||
- ./gradlew -Pci --console=plain :app:testFdroidDebugUnitTest
|
- ./gradlew -Pci --console=plain :app:testFdroidDebugUnitTest
|
||||||
|
except:
|
||||||
|
- tags
|
||||||
|
|
||||||
|
## PROTECTED VARIABLES TO SET IN GITLAB:
|
||||||
|
# - GITLAB_API_TOKEN: token you create on Gitlab
|
||||||
|
# - NC_REMOTE_DIR: like https://YOUR_NEXTCLOUD/remote.php/dav/files/YOUR_USER/mastalab (no trailing slash)
|
||||||
|
# - NC_SHARE_URL: share the folder in Nextcloud with public link and put your public link here (no trailing slash)
|
||||||
|
# - NC_USER: nextcloud user
|
||||||
|
# - NC_PASSWORD: nextcloud password
|
||||||
|
## Protect all tags in Gitlab repo settings (do a wildcard, ie '*')
|
||||||
|
# For now, it uses the assembleDebug builds, you'll need to create a job in build-and-test to create the apks, with only: - tags and add except: - tags to assembleDebug (like in debugTests)
|
||||||
|
# In it, put something like this to get your signature key file:
|
||||||
|
# - curl -s --output signature.jsk -u "${NC_USER}:${NC_PASSWORD}" "https://YOUR_NEXTCLOUD/remote.php/dav/files/YOUR_USER/signature.jsk"
|
||||||
|
putApkOnTags:
|
||||||
|
image: hatsoftwares/curl-jq:latest
|
||||||
|
stage: tag
|
||||||
|
retry: 2
|
||||||
|
cache:
|
||||||
|
key: "${CI_COMMIT_TAG}"
|
||||||
|
paths:
|
||||||
|
- app/build/outputs/apk/fdroid/debug/app-fdroid-debug.apk
|
||||||
|
- app/build/outputs/apk/playstore/debug/app-playstore-debug.apk
|
||||||
|
policy: pull
|
||||||
|
script:
|
||||||
|
- export PROJECT_API_URL="https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}"
|
||||||
|
- export DESCRIPTION_URL="${PROJECT_API_URL}/repository/tags/${CI_COMMIT_TAG}"
|
||||||
|
- export RELEASE_URL="${DESCRIPTION_URL}/release"
|
||||||
|
- export NC_UPLOAD_URL="${NC_REMOTE_DIR}/${CI_COMMIT_TAG}"
|
||||||
|
- export NC_DOWNLOAD_URL="${NC_SHARE_URL}/download?path=%2F${CI_COMMIT_TAG}%2F&files="
|
||||||
|
- 'export HEADER="Private-Token: ${GITLAB_API_TOKEN}"'
|
||||||
|
- export fdroidUrl="${NC_DOWNLOAD_URL}app-fdroid-debug.apk"
|
||||||
|
- export playstoreUrl="${NC_DOWNLOAD_URL}app-playstore-debug.apk"
|
||||||
|
- 'curl -s -u "${NC_USER}:${NC_PASSWORD}" -X MKCOL "${NC_UPLOAD_URL}"'
|
||||||
|
- 'curl -s -u "${NC_USER}:${NC_PASSWORD}" -T app/build/outputs/apk/fdroid/debug/app-fdroid-debug.apk "${NC_UPLOAD_URL}/app-fdroid-debug.apk"'
|
||||||
|
- 'curl -s -u "${NC_USER}:${NC_PASSWORD}" -T app/build/outputs/apk/playstore/debug/app-playstore-debug.apk "${NC_UPLOAD_URL}/app-playstore-debug.apk"'
|
||||||
|
- export description=$(curl -s --header "${HEADER}" "${DESCRIPTION_URL}" | jq .release.description | sed -e 's@"@@g')
|
||||||
|
- if [[ $description == 'null' ]]; then export METHOD="POST"; echo -e "[Get the fdroid apk](${fdroidUrl})\n\n[Get the play store apk](${playstoreUrl})" > /tmp/text; fi
|
||||||
|
- if [[ $description != 'null' ]]; then export METHOD="PUT"; echo -e "${description}\n\n[Get the fdroid apk](${fdroidUrl})\n\n[Get the play store apk](${playstoreUrl})" > /tmp/text; fi
|
||||||
|
- curl -s --request $METHOD --data-urlencode "description@/tmp/text" --header "${HEADER}" "${RELEASE_URL}"
|
||||||
|
only:
|
||||||
|
- tags
|
||||||
|
|
Loading…
Reference in New Issue