kind: pipeline type: exec name: Continuous Integration steps: - name: Prepare commands: - ln -s /var/lib/drone-runner-exec/.local $HOME/.local - name: Run Tests commands: - ./ci.py --ci-run-tests - sonar-scanner -Dsonar.projectKey=SelfPrivacy-Flutter-App -Dsonar.sources=. -Dsonar.host.url=http://analyzer.lan:9000 -Dsonar.login="$SONARQUBE_TOKEN" environment: SONARQUBE_TOKEN: from_secret: SONARQUBE_TOKEN - name: Build Linux Target commands: - ./ci.py --ci-build-linux - name: Build APK Target commands: - ./ci.py --ci-build-apk trigger: event: - push - pull_request node: server: builder --- kind: pipeline type: exec name: Release steps: - name: Prepare commands: - ln -s /var/lib/drone-runner-exec/.local $HOME/.local - if podman volume exists release; then podman volume rm -f release; podman volume create release; else podman volume create release; fi - git config user.email "builder@selfprivacy.org" - git config user.name "Builder" - name: Build Intermediate Linux Release Artifact (Binary) commands: - ./ci.py --build-linux environment: STANDALONE_KEYSTORE_PASS: from_secret: STANDALONE_KEYSTORE_PASS FDROID_KEYSTORE_PASS: from_secret: FDROID_KEYSTORE_PASS GOOGLE_KEYSTORE_PASS: from_secret: GOOGLE_KEYSTORE_PASS - name: Build Intermediate Android Release Artifact (.APK) commands: - ./ci.py --build-apk environment: STANDALONE_KEYSTORE_PASS: from_secret: STANDALONE_KEYSTORE_PASS FDROID_KEYSTORE_PASS: from_secret: FDROID_KEYSTORE_PASS GOOGLE_KEYSTORE_PASS: from_secret: GOOGLE_KEYSTORE_PASS - name: Build Intermediate Android Release Artifact (Bundle) commands: - ./ci.py --build-bundle environment: STANDALONE_KEYSTORE_PASS: from_secret: STANDALONE_KEYSTORE_PASS FDROID_KEYSTORE_PASS: from_secret: FDROID_KEYSTORE_PASS GOOGLE_KEYSTORE_PASS: from_secret: GOOGLE_KEYSTORE_PASS - name: Sign Android Release Artifact (.APK) for Standalone Use commands: - ./ci.py --sign-apk-standalone environment: STANDALONE_KEYSTORE_PASS: from_secret: STANDALONE_KEYSTORE_PASS FDROID_KEYSTORE_PASS: from_secret: FDROID_KEYSTORE_PASS GOOGLE_KEYSTORE_PASS: from_secret: GOOGLE_KEYSTORE_PASS - name: Sign Android Release Artifact (.APK) for F-Droid Repository commands: - ./ci.py --sign-apk-fdroid environment: STANDALONE_KEYSTORE_PASS: from_secret: STANDALONE_KEYSTORE_PASS FDROID_KEYSTORE_PASS: from_secret: FDROID_KEYSTORE_PASS GOOGLE_KEYSTORE_PASS: from_secret: GOOGLE_KEYSTORE_PASS - name: Sign Android Release Artifact (Bundle) for Google Play commands: - ./ci.py --sign-bundle environment: STANDALONE_KEYSTORE_PASS: from_secret: STANDALONE_KEYSTORE_PASS FDROID_KEYSTORE_PASS: from_secret: FDROID_KEYSTORE_PASS GOOGLE_KEYSTORE_PASS: from_secret: GOOGLE_KEYSTORE_PASS - name: Package Linux AppImage Artifact commands: - ./ci.py --package-linux-appimage - name: Package Linux Flatpak Artifact commands: - ./ci.py --package-linux-flatpak - name: Package Linux Archive Artifact commands: - ./ci.py --package-linux-archive - name: Push Artifacts to the Release Volume commands: - git add -v *.AppImage *.AppImage.zsync *.flatpak *.apk *.apk.idsig *.aab *.tar.zstd - git commit -m Release - git archive --format=tar HEAD | podman volume import release - trigger: event: - tag node: server: builder --- kind: pipeline type: exec name: Deploy steps: - name: Prepare commands: - ln -s /var/lib/drone-runner-exec/.local $HOME/.local - podman unshare podman volume mount release - name: Create Release and Deploy Artifacts commands: - ./ci.py --deploy-gitea-release environment: GITEA_RELEASE_TOKEN: from_secret: GITEA_RELEASE_TOKEN - name: Deploy F-Droid Repo commands: - ./ci.py --deploy-fdroid-repo environment: SSH_PRIVATE_KEY: from_secret: SSH_PRIVATE_KEY trigger: event: - tag node: server: builder depends_on: - Release