selfprivacy.org.app/.drone.yml

159 lines
3.8 KiB
YAML

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
- name: Build Bundle Target
commands:
- ./ci.py --ci-build-bundle
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
# - 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
- name: Build and Sign 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
# - 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
# - 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 *.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