Compare commits
2
Commits
jingwen
...
118d5ae93c
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
118d5ae93c | ||
|
|
bf090b2526 |
Vendored
+54
@@ -0,0 +1,54 @@
|
||||
// CI pipeline for BowlEye (PinPoint). Builds the Debug APK and runs unit
|
||||
// tests on every push. Runs on the team19 VM's Jenkins install, using the
|
||||
// Android SDK at /opt/android-sdk (see docs/ for the VM setup this depends on).
|
||||
pipeline {
|
||||
agent any
|
||||
|
||||
options {
|
||||
timeout(time: 45, unit: 'MINUTES')
|
||||
disableConcurrentBuilds()
|
||||
buildDiscarder(logRotator(numToKeepStr: '20'))
|
||||
}
|
||||
|
||||
environment {
|
||||
ANDROID_HOME = '/opt/android-sdk'
|
||||
ANDROID_SDK_ROOT = '/opt/android-sdk'
|
||||
}
|
||||
|
||||
stages {
|
||||
stage('Checkout') {
|
||||
steps {
|
||||
checkout scm
|
||||
}
|
||||
}
|
||||
|
||||
stage('Prepare SDK pointer') {
|
||||
steps {
|
||||
// AGP will also pick up ANDROID_HOME from the environment, but
|
||||
// writing local.properties explicitly keeps this working even
|
||||
// if the job ever runs on a different agent/environment setup.
|
||||
sh 'echo "sdk.dir=/opt/android-sdk" > local.properties'
|
||||
}
|
||||
}
|
||||
|
||||
stage('Build Debug APK') {
|
||||
steps {
|
||||
sh 'chmod +x ./gradlew'
|
||||
sh './gradlew assembleDebug --no-daemon --stacktrace'
|
||||
}
|
||||
}
|
||||
|
||||
stage('Unit Tests') {
|
||||
steps {
|
||||
sh './gradlew testDebugUnitTest --no-daemon --stacktrace'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
post {
|
||||
always {
|
||||
junit allowEmptyResults: true, testResults: '**/build/test-results/**/*.xml'
|
||||
archiveArtifacts artifacts: 'app/build/outputs/apk/**/*.apk', allowEmptyArchive: true
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user