selfprivacy.org.app/.drone.yml

206 lines
5.5 KiB
YAML

kind: pipeline
type: exec
name: Nightly
steps:
- name: Prepare
commands:
- ln -s /var/lib/drone-runner-exec/.local $HOME/.local
- ln -s /var/lib/drone-runner-exec/fdroid $HOME/fdroid
- 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 Nightly Linux Release Artifact (Binary)
commands:
- ./ci.py --ci-build-linux
- name: Build Nightly Release Artifact (.APK)
commands:
- ./ci.py --ci-build-apk
- name: Sign and Commit Nightly Android Release Artifact (.APK) for F-Droid Repository
commands:
- rm -rf $HOME/fdroid/build/org.selfprivacy.app.nightly && mkdir $HOME/fdroid/build/org.selfprivacy.app.nightly
- git archive --format=tar HEAD | tar x -C $HOME/fdroid/build/org.selfprivacy.app.nightly
- ./ci.py --sign-apk-fdroid-nightly
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: Deploy F-Droid Repository
commands:
- ./ci.py --deploy-fdroid-repo
environment:
SSH_PRIVATE_KEY:
from_secret: SSH_PRIVATE_KEY
trigger:
event:
- push
branch:
- master
node:
server: builder
---
kind: pipeline
type: exec
name: Release
steps:
- name: Prepare
commands:
- ln -s /var/lib/drone-runner-exec/.local $HOME/.local
- ln -s /var/lib/drone-runner-exec/fdroid $HOME/fdroid
- 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: Create an Empty Gitea Release
commands:
- ./ci.py --gitea-create-release
environment:
GITEA_RELEASE_TOKEN:
from_secret: GITEA_RELEASE_TOKEN
- 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 and Commit Android Release Artifact (.APK) for F-Droid Repository
commands:
- rm -rf $HOME/fdroid/build/org.selfprivacy.app && mkdir $HOME/fdroid/build/org.selfprivacy.app
- git archive --format=tar HEAD | tar x -C $HOME/fdroid/build/org.selfprivacy.app
- ./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: Deploy Artifacts to Gitea
commands:
- ./ci.py --deploy-gitea-release
environment:
GITEA_RELEASE_TOKEN:
from_secret: GITEA_RELEASE_TOKEN
- name: Deploy F-Droid Repository
commands:
- ./ci.py --deploy-fdroid-repo
environment:
SSH_PRIVATE_KEY:
from_secret: SSH_PRIVATE_KEY
trigger:
event:
- tag
node:
server: builder
depends_on:
- Release