diff --git a/Jenkinsfile b/Jenkinsfile index 54bfc56..4421818 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -72,6 +72,7 @@ GRADLE_OPTS: '-XX:MaxMetaspaceSize=256m -Xmx1792m -Dfile.encoding=UTF-8 -Duser.country=US -Duser.language=en -Duser.variant -Dme.jenkins -Dorg.gradle.daemon=false -Dkotlin.compiler.execution.strategy=in-process', GOOGLE_API_CID: 'dappre-google-api', FIREBASE_API_CID: 'dappre-firebase-api', + FIREBASE_GROUPS: 'dev', ], noIndex: '(.+_.+|production)', // Avoid automatic indexing for release and private branches xmppTargets: 'noise@conference.qiy.nl', @@ -145,6 +146,28 @@ ] } +lazyStage { + name = 'apptest' + onlyif = (! deployBranches.contains(lazyConfig['branch']) && lazyConfig['branch'] != workingBranch && lazyConfig.env.RELEASE ) + tasks = [ + pre: { + unarchive(mapping:["${buildDir}/" : '.']) + }, + run: { + if ( !lazyConfig.env.DRYRUN ) { + withCredentials([string(credentialsId: env.FIREBASE_API_CID, variable: 'FIREBASE_API_TOKEN')]) { + fastLane('android', 'firebase') + } + } + }, + args: "-v /opt/android:/opt/android" + + " -e ANDROID_HOME=${env.ANDROID_HOME}" + + " -e GRADLE_USER_HOME=${env.GRADLE_USER_HOME}", + in: [ 'centos7' ], + on: 'android', + ] +} + // Release stage only only if criteria are met lazyStage { name = 'release' @@ -244,28 +267,6 @@ on: 'android', ] } - -lazyStage { - name = 'beta_firebase' - onlyif = (! deployBranches.contains(lazyConfig['branch']) && lazyConfig['branch'] != workingBranch && lazyConfig.env.RELEASE ) - tasks = [ - pre: { - unarchive(mapping:["${buildDir}/" : '.']) - }, - run: { - if ( !lazyConfig.env.DRYRUN ) { - withCredentials([string(credentialsId: env.FIREBASE_API_CID, variable: 'FIREBASE_API_TOKEN')]) { - fastLane('android', 'beta_firebase') - } - } - }, - args: "-v /opt/android:/opt/android" - + " -e ANDROID_HOME=${env.ANDROID_HOME}" - + " -e GRADLE_USER_HOME=${env.GRADLE_USER_HOME}", - in: [ 'centos7' ], - on: 'android', - ] -} /* lazyStage { name = 'production' diff --git a/fastlane/Fastfile b/fastlane/Fastfile index 65c64ce..5625d4c 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -179,8 +179,9 @@ end desc "Submit a new build to Firebase App Distribution" - lane :beta_firebase do |options| + lane :firebase do |options| # Like for alpha and beta, this lane requires the apk to be already available + firebase_groups = ENV['FIREBASE_GROUPS'] || 'dev' firebase_api_token = ENV['FIREBASE_API_TOKEN'] if ! firebase_api_token UI.user_error!("No Firebase API token found in environment (FIREBASE_API_TOKEN)") @@ -193,17 +194,17 @@ apk_path: "app/build/outputs/apk/#{getFlavorName(options)}/release/app-#{getFlavorName(options)}-release.apk", firebase_cli_token: firebase_api_token, release_notes_file: 'fastlane/metadata/android/en-US/changelogs/latest.txt', - groups: 'beta', + groups: firebase_groups, ) end end - desc "Deploy a new version to the Google Play" - lane :alpha do |options| + desc "Deploy a new internal version to the Google Play" + lane :internal do |options| supply( apk: "app/build/outputs/apk/#{getFlavorName(options)}/release/app-#{getFlavorName(options)}-release.apk", mapping: "app/build/outputs/apk/#{getFlavorName(options)}/release/mapping.txt", - track: 'alpha', + track: 'internal', skip_upload_apk: false, skip_upload_metadata: false, skip_upload_images: false, @@ -212,7 +213,21 @@ ) end - desc "Deploy a new version to the Google Play" + desc "Deploy a new alpha version to the Google Play" + lane :alpha do |options| + supply( + apk: "app/build/outputs/apk/#{getFlavorName(options)}/release/app-#{getFlavorName(options)}-release.apk", + mapping: "app/build/outputs/apk/#{getFlavorName(options)}/release/mapping.txt", + track: 'alpha', + skip_upload_apk: true, + skip_upload_metadata: true, + skip_upload_images: true, + skip_upload_screenshots: true, + package_name: "#{getPackageName(options)}", + ) + end + + desc "Deploy a new beta version to the Google Play" lane :beta do |options| supply( track: 'alpha',