diff --git a/.env b/.env new file mode 100644 index 00000000..f3c22cda --- /dev/null +++ b/.env @@ -0,0 +1,9 @@ +PROJECT="Passepartout" +APP_NAME="Passepartout" +MATCH_READONLY="true" +BUILD_PATH="build" +DIST_PATH="dist" + +# constant (fastlane) +LC_ALL="en_US.UTF-8" +LANG="en_US.UTF-8" diff --git a/.env.beta b/.env.beta new file mode 100644 index 00000000..26e2f7cc --- /dev/null +++ b/.env.beta @@ -0,0 +1,4 @@ +TARGET="beta" +PILOT_IPA="$DIST_PATH/$PLATFORM/$TARGET/$APP_NAME.ipa" +PILOT_DISTRIBUTE_EXTERNAL="true" +DEMO_ACCOUNT_REQUIRED="true" diff --git a/.env.beta.ios b/.env.beta.ios new file mode 100644 index 00000000..64a23f6a --- /dev/null +++ b/.env.beta.ios @@ -0,0 +1,2 @@ +MATCH_TYPE="appstore" +GYM_EXPORT_METHOD="app-store" diff --git a/.env.beta.mac b/.env.beta.mac new file mode 100644 index 00000000..64a23f6a --- /dev/null +++ b/.env.beta.mac @@ -0,0 +1,2 @@ +MATCH_TYPE="appstore" +GYM_EXPORT_METHOD="app-store" diff --git a/.env.dev b/.env.dev new file mode 100644 index 00000000..87333bd6 --- /dev/null +++ b/.env.dev @@ -0,0 +1,2 @@ +TARGET="dev" +APPCENTER_DISTRIBUTE_DESTINATION_TYPE="group" diff --git a/.env.dev.ios b/.env.dev.ios new file mode 100644 index 00000000..f10a8a11 --- /dev/null +++ b/.env.dev.ios @@ -0,0 +1,4 @@ +MATCH_TYPE="adhoc" +GYM_EXPORT_METHOD="ad-hoc" +APPCENTER_APP_NAME=$GYM_SCHEME +APPCENTER_DISTRIBUTE_IPA="$DIST_PATH/$PLATFORM/$TARGET/$APP_NAME.ipa" diff --git a/.env.dev.mac b/.env.dev.mac new file mode 100644 index 00000000..4bd339bc --- /dev/null +++ b/.env.dev.mac @@ -0,0 +1,7 @@ +MATCH_TYPE="development" +GYM_EXPORT_METHOD="development" +APPCENTER_APP_NAME=$GYM_SCHEME +APPCENTER_DISTRIBUTE_FILE="$DIST_PATH/$PLATFORM/$TARGET/$APP_NAME.app" +FL_NOTARIZE_PACKAGE=$APPCENTER_DISTRIBUTE_FILE +FL_NOTARIZE_PRINT_LOG=true +FL_NOTARIZE_VERBOSE=true diff --git a/.env.ios b/.env.ios new file mode 100644 index 00000000..969b800b --- /dev/null +++ b/.env.ios @@ -0,0 +1,3 @@ +PLATFORM="ios" +GYM_SCHEME="Passepartout-iOS" +BUNDLE_CONTEXT="ios" diff --git a/.env.mac b/.env.mac new file mode 100644 index 00000000..f866166d --- /dev/null +++ b/.env.mac @@ -0,0 +1,3 @@ +PLATFORM="mac" +GYM_SCHEME="Passepartout-macOS" +BUNDLE_CONTEXT="macos" diff --git a/.env.template.secret-codesign b/.env.template.secret-codesign new file mode 100644 index 00000000..c8924c7d --- /dev/null +++ b/.env.template.secret-codesign @@ -0,0 +1,2 @@ +MATCH_GIT_URL= +MATCH_PASSWORD= diff --git a/.env.template.secret-deploy b/.env.template.secret-deploy new file mode 100644 index 00000000..7544df2e --- /dev/null +++ b/.env.template.secret-deploy @@ -0,0 +1,10 @@ +APPLE_ID= +FASTLANE_USERNAME= +FASTLANE_PASSWORD= +APPCENTER_OWNER_NAME= +APPCENTER_API_TOKEN= +APPCENTER_DISTRIBUTE_DESTINATIONS= +PILOT_GROUPS= +PILOT_USERNAME= +DELIVER_USERNAME= +PROJECT_ROOT= diff --git a/Gemfile.lock b/Gemfile.lock index 5297b14d..bc5ad7a6 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -14,7 +14,7 @@ GEM json (>= 1.5.1) atomos (0.1.3) aws-eventstream (1.1.0) - aws-partitions (1.413.0) + aws-partitions (1.414.0) aws-sdk-core (3.110.0) aws-eventstream (~> 1, >= 1.0.2) aws-partitions (~> 1, >= 1.239.0) @@ -85,16 +85,18 @@ GEM ethon (0.12.0) ffi (>= 1.3.0) excon (0.78.1) - faraday (1.2.0) + faraday (1.3.0) + faraday-net_http (~> 1.0) multipart-post (>= 1.2, < 3) ruby2_keywords faraday-cookie_jar (0.0.7) faraday (>= 0.8.0) http-cookie (~> 1.0.0) + faraday-net_http (1.0.0) faraday_middleware (1.0.0) faraday (~> 1.0) fastimage (2.2.1) - fastlane (2.170.0) + fastlane (2.171.0) CFPropertyList (>= 2.3, < 4.0.0) addressable (>= 2.3, < 3.0.0) aws-sdk-s3 (~> 1.0) @@ -167,7 +169,7 @@ GEM http-cookie (1.0.3) domain_name (~> 0.5) httpclient (2.8.3) - i18n (1.8.5) + i18n (1.8.6) concurrent-ruby (~> 1.0) jmespath (1.4.0) json (2.5.1) @@ -184,7 +186,7 @@ GEM naturally (2.2.0) netrc (0.11.0) os (1.1.1) - plist (3.5.0) + plist (3.6.0) public_suffix (4.0.6) rake (13.0.3) representable (3.0.4) @@ -232,7 +234,7 @@ GEM nanaimo (~> 0.3.0) xcpretty (0.3.0) rouge (~> 2.0.7) - xcpretty-travis-formatter (1.0.0) + xcpretty-travis-formatter (1.0.1) xcpretty (~> 0.2, >= 0.0.7) PLATFORMS diff --git a/fastlane/Appfile b/fastlane/Appfile new file mode 100644 index 00000000..2c50a00e --- /dev/null +++ b/fastlane/Appfile @@ -0,0 +1,5 @@ +app_identifier("com.algoritmico.#{ENV['BUNDLE_CONTEXT']}.Passepartout") # The bundle identifier of your app + + +# For more information about the Appfile, see: +# https://docs.fastlane.tools/advanced/#appfile diff --git a/fastlane/Deliverfile b/fastlane/Deliverfile new file mode 100644 index 00000000..d081bbc1 --- /dev/null +++ b/fastlane/Deliverfile @@ -0,0 +1,8 @@ +# The Deliverfile allows you to store various App Store Connect metadata +# For more information, check out the docs +# https://docs.fastlane.tools/actions/deliver/ + +skip_binary_upload true +skip_metadata false +skip_screenshots false +overwrite_screenshots true diff --git a/fastlane/Fastfile b/fastlane/Fastfile new file mode 100644 index 00000000..5ddbafab --- /dev/null +++ b/fastlane/Fastfile @@ -0,0 +1,16 @@ +# This file contains the fastlane.tools configuration +# You can find the documentation at https://docs.fastlane.tools +# +# For a list of all available actions, check out +# +# https://docs.fastlane.tools/actions +# +# For a list of all available plugins, check out +# +# https://docs.fastlane.tools/plugins/available-plugins +# + +# Uncomment the line if you want fastlane to automatically update itself +# update_fastlane + +import("../Submodules/fastlane-ci-templates/fastlane/Fastfile.include") diff --git a/fastlane/Gymfile b/fastlane/Gymfile new file mode 100644 index 00000000..e4ed42cd --- /dev/null +++ b/fastlane/Gymfile @@ -0,0 +1,27 @@ +# For more information about this configuration visit +# https://docs.fastlane.tools/actions/gym/#gymfile + +# In general, you can use the options available +# fastlane gym --help + +# Remove the # in front of the line to enable the option + +# scheme "Example" + +# sdk "iphoneos9.0" + +build_target = ENV["TARGET"] +stage_build_path = "#{ENV["BUILD_PATH"]}/#{ENV["PLATFORM"]}/#{build_target}" +stage_artifacts_path = "#{ENV["DIST_PATH"]}/#{ENV["PLATFORM"]}/#{build_target}" + +derived_data_path stage_build_path +buildlog_path stage_build_path +build_path stage_build_path +output_directory stage_artifacts_path +output_name ENV["APP_NAME"] + +clean true +silent false +include_bitcode false +skip_profile_detection true +skip_package_pkg true diff --git a/fastlane/Matchfile b/fastlane/Matchfile new file mode 100644 index 00000000..dc077331 --- /dev/null +++ b/fastlane/Matchfile @@ -0,0 +1,9 @@ +type "development" # The default type, can be: appstore, adhoc, enterprise or development + +app_identifier [ + "com.algoritmico.#{ENV['BUNDLE_CONTEXT']}.Passepartout", + "com.algoritmico.#{ENV['BUNDLE_CONTEXT']}.Passepartout.Tunnel" +] + +# For all available options run `fastlane match --help` +# Remove the # in the beginning of the line to enable the other options diff --git a/fastlane/Pluginfile b/fastlane/Pluginfile new file mode 100644 index 00000000..756bff8e --- /dev/null +++ b/fastlane/Pluginfile @@ -0,0 +1,5 @@ +# Autogenerated by fastlane +# +# Ensure this file is checked in to source control! + +gem 'fastlane-plugin-appcenter' diff --git a/fastlane/Precheckfile b/fastlane/Precheckfile new file mode 100644 index 00000000..4bbea73a --- /dev/null +++ b/fastlane/Precheckfile @@ -0,0 +1,29 @@ +# For more information about this configuration visit +# https://docs.fastlane.tools/actions/precheck/ + +# In general, you can use the options available +# fastlane precheck --help + +# Remove the # in front of the line to enable the option + +# You have three possible values for each rule options +# :skip +# indicates that your metadata will not be checked by this rule + +# :warn +# when triggered, this rule will warn you of a potential problem + +# :error +# when triggered, this rule will cause an error to be displayed and it will prevent any further fastlane commands from running after precheck finishes + +# Examples: +# negative_apple_sentiment(level: :skip) +# curse_words(level: :warn) +# future_functionality(level: :error) +# other_platforms(level: :error) +# placeholder_text(level: :error) +# test_words(level: :error) +# unreachable_urls(level: :error) +# custom_text(data: ["fabric"], level: :warn) + +include_in_app_purchases false