# Fastlaen FastFile default_platform(:ios) platform :ios do before_all do |lane| #Pleae dont put anything here end desc "Manual Highway Lane: Git pull" lane: pullDevelopment do #ensure_git_branch( # branch: 'development') git_pull end desc "App Store[Not used]" lane :distributeAppStore do match(type: "appstore", app_identifier: ["com.dsg.mobile.consumer", "com.dsg.mobile.consumer.RichNotificationServiceExtension", "com.dsg.mobile.consumer.iMessage-Stickers"], git_branch: "app-store", team_id: "XT5SKW92DF") build_app(scheme: "RELEASE APP STORE", workspace: "DSG.ScoreCardConsumerApp.xcworkspace", include_bitcode: true, clean: true) upload_to_app_store end desc "Manual Highway Build" lane :manualBuild do |options| #match(type: "enterprise") build_app(scheme: options[:scheme], workspace: "DSG.ScoreCardConsumerApp.xcworkspace", export_options:{ method:"enterprise" }, include_bitcode: true) end desc "Jenkins Highway Build" lane :jenkinsBuild do |options| #match(type: "enterprise") build_app(scheme: options[:scheme], workspace: "DSG.ScoreCardConsumerApp.xcworkspace", export_options:{ method:"enterprise" }, include_bitcode: true) end desc "Common Lane Distribute" lane :distribute do |options| changelog_from_git_commits(commits_count: 5, merge_commit_filtering: "include_merges") firebase_app_distribution(app: "1:936104992585:ios:22fe9b536f8f704754c498", # App ID for DSG-ConsumerAPP-QA groups: options[:groups] ? "Dev-Group" : "QA-Group") end desc "Common Lane Increment Build Number" lane :incrementBuildNumber do increment_build_number end desc "Manual Highway Distribute Prod UAT" lane :manualDistributeProdUAT do ensure_git_status_clean incrementBuildNumber manualBuild(scheme: "UAT RELEASE PROD") distribute(groups: "Dev-Group") end desc "Jankins Highway Distribute Prod UAT" lane :jenkisDistributeProdUAT do #ensure_git_status_clean incrementBuildNumber jenkinsBuild(scheme: "UAT RELEASE PROD") distribute(groups: "Dev-Group") end desc "Manual Highway Distribute Release QA" lane :manualDistributeReleaseQA do #ensure_git_status_clean incrementBuildNumber manualBuild(scheme: "RELEASE QA") distribute(groups: "Dev-Group") end desc "Jenkins Highway Distribute Release QA" lane :jenkisDistributeReleaseQA do #ensure_git_status_clean incrementBuildNumber jenkinsBuild(scheme: "RELEASE QA") distribute(groups: "Dev-Group") end desc "Manual Highway Distribute Dev" lane :manualDistributeDev do incrementBuildNumber manualBuild(scheme: "RELEASE QA") distribute(groups: "Dev-Group") end desc "Jenkins Highway Distribute Dev" lane :jenkinsDistributeDev do incrementBuildNumber jenkinsBuild(scheme: "RELEASE QA") distribute(groups: "Dev-Group") end desc "Manual Highway Distribute Dev UAT RELEASE PROD" lane :manualDistributeProdToDev do incrementBuildNumber manualBuild(scheme: "UAT RELEASE PROD") distribute(groups: "Dev-Group") end desc "Jenkins Highway Distribute Dev UAT RELEASE PROD" lane :jenkisDistributeProdToDev do incrementBuildNumber jenkinsBuild(scheme: "UAT RELEASE PROD") distribute(groups: "Dev-Group") end desc "Manual Highway Commit Version Bump" lane :manualCommitVersionBump do build_number = get_build_number version_number = get_version_number( target: "QA Release" ) commit_version_bump( message: "Version Bump to v#{version_number} - #{build_number}", xcodeproj: "DSG.ScoreCardConsumerApp.xcodeproj", force: false ) end desc "Jenkins Highway Commit Version Bump" lane :jenkinsCommitVersionBump do build_number = get_build_number version_number = get_version_number( target: "QA Release" ) commit_version_bump( message: "Version Bump to v#{version_number} - #{build_number}", xcodeproj: "DSG.ScoreCardConsumerApp.xcodeproj", force: true #due to jenkins limitation ) end desc "Jenkins Highway commit incremented version" lane :jenkinsManualPushToGitRemote do sh("git checkout -b versionBump") sh("git add .") commitVersionBump sh("git checkout jenkins-pipeline-setup") sh("git merge versionBump") sh("git push origin jenkins-pipeline-setup") sh("git branch -d versionBump") end desc "Manual Highway Push to git remote" lane :manualPushToGitRemote do push_to_git_remote( remote: "origin", local_branch: "development", remote_branch: "development", force: false, force_with_lease: false, tags: false, no_verify: true, set_upstream: false ) end #desc "Push to git remote" #lane :pushToGitRemote do #commitIncrementedVersion #end desc "Jenkins Test Lane" lane :jenkinsLane do incrementBuildNumber pushToGitRemote end after_all do |lane| #pushToGitRemote clean_build_artifacts end lane :tests do run_tests(workspace: "DSG.ScoreCardConsumerApp.xcworkspace", scheme: "DEBUG QA", skip_testing: ["ScoreCardConsumerAppTests/ScoreCardConsumerAppTests", "ScoreCardConsumerAppTests/FitnessAppLIstViewTests", "ScoreCardConsumerAppTests/IntroBannerCellTests", "ScoreCardConsumerAppTests/ManageTrackerActionSheetTests", "ScoreCardConsumerAppTests/MoveManageTrackerModelTests", "ScoreCardConsumerAppTests/MoveManageTrackerViewControllerTests", "ScoreCardConsumerAppTests/MoveTrackerCategoriesTests", "ScoreCardConsumerAppTests/MoveRealmControllerTests", "ScoreCardConsumerAppTests/DSGMoveTrackerTests", "ScoreCardConsumerAppTests/SuggetedAppsTests"]) end end