forked from firka/firka
83 lines
2.3 KiB
Groovy
83 lines
2.3 KiB
Groovy
pipeline {
|
|
agent { label 'ubuntu' }
|
|
environment {
|
|
PATH = "/home/jenkins/development/flutter/bin:${env.PATH}"
|
|
}
|
|
|
|
stages {
|
|
stage('Cleanup') {
|
|
steps {
|
|
script {
|
|
sh '''#!/bin/sh
|
|
set -x
|
|
fusermount -u secrets || true
|
|
'''
|
|
}
|
|
}
|
|
}
|
|
|
|
stage('Decrypt keys') {
|
|
when {
|
|
branch 'main'
|
|
}
|
|
steps {
|
|
script {
|
|
def userInput = input(
|
|
id: 'signaturePassword',
|
|
message: 'Please enter the signing key password:',
|
|
parameters: [
|
|
password(
|
|
defaultValue: '',
|
|
description: 'Enter the signing key password',
|
|
name: 'password'
|
|
)
|
|
]
|
|
)
|
|
|
|
env.PASSWORD = userInput.toString()
|
|
}
|
|
|
|
sh '''#!/bin/sh
|
|
echo \$PASSWORD | gocryptfs $HOME/android_secrets secrets/ -nonempty
|
|
'''
|
|
}
|
|
}
|
|
|
|
stage('Clone submodules') {
|
|
steps {
|
|
script {
|
|
sh 'git submodule update --init --recursive'
|
|
}
|
|
}
|
|
}
|
|
|
|
stage('Build firka') {
|
|
steps {
|
|
sh 'bash -c "./tools/linux/build_apk.sh ' + env.BRANCH_NAME + '"'
|
|
}
|
|
}
|
|
|
|
stage('Publish release artifacts') {
|
|
when {
|
|
branch 'main'
|
|
}
|
|
steps {
|
|
archiveArtifacts artifacts: 'firka/build/app/outputs/flutter-apk/app-*-release.apk', fingerprint: true
|
|
sh 'rm firka/build/app/outputs/flutter-apk/app-*-release.apk'
|
|
}
|
|
}
|
|
|
|
stage('Publish debug artifacts') {
|
|
when {
|
|
not {
|
|
branch 'main'
|
|
}
|
|
}
|
|
steps {
|
|
archiveArtifacts artifacts: 'firka/build/app/outputs/flutter-apk/app-debug.apk', fingerprint: true
|
|
sh 'rm firka/build/app/outputs/flutter-apk/app-debug.apk'
|
|
}
|
|
}
|
|
}
|
|
}
|