kind: pipeline type: docker name: test steps: - name: AnylyseBuildTest image: mingc/android-build-box:latest commands: - echo "---------------------------------------------------------" - echo "Configure gradle..." - mkdir -p ~/.gradle && echo "org.gradle.daemon=false\nignoreGitVersion=true\nappLoginUrl=\"URL\"\nappLoginUsername=\"LOGIN\"\nappLoginPassword=\"PASS\"\npushCache=false" >> ~/.gradle/gradle.properties - echo "---------------------------------------------------------" - echo "Analysing..." - ./gradlew sonarqube -Dsonar.projectKey=RFS2 -Dsonar.host.url=$SONAR_HOST_URL -Dsonar.login=$SONAR_LOGIN - echo "---------------------------------------------------------" - echo "Building..." - ./gradlew build - echo "---------------------------------------------------------" - echo "Testing..." - echo "---------------------------------------------------------" - ./gradlew test environment: SONAR_HOST_URL: from_secret: sonarScannerHostUrl SONAR_LOGIN: from_secret: sonarScannerLogin trigger: event: - push - pull_request --- kind: pipeline type: docker name: Publish steps: - name: createTag image: ubuntu:latest commands: - apt-get update && apt-get install -y git - ./build.sh --publish --from-ci - git remote add pushing https://$GITEA_USR:$GITEA_PASS@gitea.amine-louveau.fr/Louvorg/ReaderForSelfoss-multiplatform.git - git push pushing --tags environment: GITEA_USR: from_secret: giteaUsr GITEA_PASS: from_secret: giteaPass - name: scpFiles image: appleboy/drone-scp settings: host: amine-louveau.fr username: ubuntu key: from_secret: privateKey port: 22 target: /home/ubuntu/ source: version.txt - name: deploy image: appleboy/drone-ssh settings: host: amine-louveau.fr user: ubuntu key: from_secret: privateKey command_timeout: 2m script: - cd /home/ubuntu - sudo rm -rf /var/www/amine/version.txt - sudo chown www-data:www-data ./version.txt - sudo mv version.txt /var/www/amine/ trigger: event: - promote target: - production --- kind: pipeline type: docker name: Release steps: - name: build image: mingc/android-build-box:latest commands: - echo "---------------------------------------------------------" - echo "Configure gradle..." - mkdir -p ~/.gradle && echo "org.gradle.daemon=false\nignoreGitVersion=true\nappLoginUrl=\"URL\"\nappLoginUsername=\"LOGIN\"\nappLoginPassword=\"PASS\"\npushCache=false" >> ~/.gradle/gradle.properties - echo "---------------------------------------------------------" - echo "Generate APK" - ./gradlew :androidApp:assembleGithubConfigRelease -P pushCache=false - echo "---------------------------------------------------------" - echo "Get Key" - wget https://amine-louveau.fr/key - echo "---------------------------------------------------------" - echo "Zipalign" - $ANDROID_HOME/build-tools/31.0.0/zipalign -f -v 4 androidApp/build/outputs/apk/githubConfig/release/androidApp-githubConfig-release-unsigned.apk androidApp/build/outputs/apk/githubConfig/release/android-prod-released-ziped.apk - echo "---------------------------------------------------------" - echo "Sign" - $ANDROID_HOME/build-tools/31.0.0/apksigner sign -v --out signed.apk --ks ./key --ks-key-alias $YOUR_KEY_ALIAS --ks-pass pass:$YOUR_KEYSTORE_PASSWORD --v1-signing-enabled true --v2-signing-enabled true androidApp/build/outputs/apk/githubConfig/release/android-prod-released-ziped.apk - echo "---------------------------------------------------------" - echo "Verify" - $ANDROID_HOME/build-tools/31.0.0/apksigner verify signed.apk environment: YOUR_KEYSTORE_PASSWORD: from_secret: keyPass YOUR_KEY_ALIAS: from_secret: keyAlias - name: gitea_release image: plugins/gitea-release settings: api_key: from_secret: giteaAPI base_url: https://gitea.amine-louveau.fr files: signed.apk trigger: event: - tag