diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 0b0970c7bb5339c53b11d65449023c0a4dbe83d1..75db10f27167499e87841f6bd2201254eabf64e1 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -56,6 +56,11 @@ before_script: # Not necessary, but just for surity - chmod +x ./gradlew +stages: + - build + - test + - release + # Basic android and gradle stuff # Check linting lintDebug: @@ -77,7 +82,7 @@ assembleDebug: - ./gradlew assembleDebug artifacts: paths: - - app/build/outputs/ + - app/build/outputs/apk/debug # Run all tests, if any fails, interrupt the pipeline(fail it) debugTests: @@ -86,3 +91,29 @@ debugTests: stage: test script: - ./gradlew -Pci --console=plain :app:testDebug + +assembleRelease: + stage: build + script: + - echo $KEYSTORE_FILE | base64 -d > tmp.keystore + - ./gradlew assembleRelease + -Pandroid.injected.signing.store.file=$(PWD)/tmp.keystore + -Pandroid.injected.signing.store.password=$KEYSTORE_PASSWORD + -Pandroid.injected.signing.key.alias=$KEY_ALIAS + -Pandroid.injected.signing.key.password=$KEY_PASSWORD + artifacts: + paths: + - app/build/outputs/apk/release + +newRelease: + needs: [assembleRelease] + stage: release + image: registry.gitlab.com/gitlab-org/release-cli:latest + rules: + - if: $CI_COMMIT_TAG # Run this job when a tag is created + script: + - echo "Creating a new release $CI_COMMIT_TAG" + release: # See https://docs.gitlab.com/ee/ci/yaml/#release for available properties + tag_name: '$CI_COMMIT_TAG' + description: '$CI_COMMIT_TAG' +