-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Flask] bitrise pipelines #6645
Changes from 23 commits
99710ef
f621274
95fda8a
018ff06
3e0e16e
cd861a8
9b02f37
47b75d2
50a3475
5247447
5924596
7b275c4
56f03d4
69ccfe9
061b507
df55ec1
e82ff36
5727bc3
2acb01b
5ca20dd
5b6d2d8
48b71e8
575e326
2191e4c
17b6758
2a71962
37aeb8a
80aa292
78c4a01
da12ce0
fe3069e
f79aab3
9490d89
38d2dc6
1da8ac1
6dfcce6
cbd72aa
889d066
285b28c
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
3.0.2 | ||
3.0.3 |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -53,6 +53,16 @@ pipelines: | |
stages: | ||
- run_smoke_e2e_ios_android_stage: {} | ||
- notify: {} | ||
# Pipeline for Flask | ||
create_flask_release_builds_pipeline: | ||
stages: | ||
- create_build_flask_release: {} | ||
- notify: {} | ||
release_flask_builds_to_store_pipeline: | ||
stages: | ||
- create_build_flask_release: {} | ||
- deploy_flask_build_release: {} | ||
- release_notify: {} | ||
|
||
#Stages refrence workflows. Those workflows cannot but utility "_this-is-a-utility" | ||
stages: | ||
|
@@ -106,6 +116,15 @@ stages: | |
release_notify: | ||
workflows: | ||
- release_announcing_stores: {} | ||
create_build_flask_release: | ||
workflows: | ||
- build_android_flask_release: {} | ||
- build_ios_flask_release: {} | ||
deploy_flask_build_release: | ||
workflows: | ||
# Once service connection is established we can use this workflow to deploy to stores | ||
# - deploy_android_to_store: {} | ||
- deploy_ios_to_store: {} | ||
workflows: | ||
# Code Setups | ||
setup: | ||
|
@@ -202,7 +221,7 @@ workflows: | |
- yarn@0: | ||
inputs: | ||
- command: build:announce | ||
title: Accouncing pre-release | ||
title: Announcing pre-release | ||
NicolasMassart marked this conversation as resolved.
Show resolved
Hide resolved
|
||
is_always_run: false | ||
meta: | ||
bitrise.io: | ||
|
@@ -671,6 +690,115 @@ workflows: | |
- pipeline_intermediate_files: sourcemaps/ios/index.js.map:BITRISE_APP_STORE_SOURCEMAP_PATH | ||
- deploy_path: sourcemaps/ios/index.js.map | ||
title: Deploy Source Map | ||
build_ios_flask_release: | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. C: I wonder if we have a way to prevent duplication of these big yaml blocks and just have one called with params. they really mostly look the same. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @NicolasMassart regarding the sourcemap comment, yes they will be different. I am wondering if I need to change the sourcemap logic since it is failing on bitrise |
||
before_run: | ||
- code_setup | ||
after_run: | ||
- _notify_failure_on_slack | ||
steps: | ||
- certificate-and-profile-installer@1: {} | ||
- set-xcode-build-number@1: | ||
inputs: | ||
- build_short_version_string: $FLASK_VERSION_NAME | ||
- build_version: $FLASK_VERSION_NUMBER | ||
- plist_path: $PROJECT_LOCATION_IOS/MetaMask/MetaMask-Flask-Info.plist | ||
- cocoapods-install@2: {} | ||
- script@1: | ||
inputs: | ||
- content: |- | ||
#!/usr/bin/env bash | ||
node -v | ||
METAMASK_BUILD_TYPE=flask METAMASK_ENVIRONMENT='production' yarn build:ios:pre-flask | ||
title: iOS Sourcemaps & Build | ||
is_always_run: false | ||
- [email protected]: | ||
is_always_run: false | ||
is_skippable: true | ||
inputs: | ||
- pipeline_intermediate_files: ios/build/output/MetaMask-Flask.ipa:BITRISE_APP_STORE_IPA_PATH | ||
- deploy_path: ios/build/output/MetaMask-Flask.ipa | ||
title: Deploy iOS IPA | ||
- [email protected]: | ||
sethkfman marked this conversation as resolved.
Show resolved
Hide resolved
|
||
is_always_run: false | ||
is_skippable: true | ||
inputs: | ||
- deploy_path: ios/build/MetaMask-Flask.xcarchive:BITRISE_APP_STORE_XCARCHIVE_PATH | ||
title: Deploy Symbols File | ||
- [email protected]: | ||
is_always_run: false | ||
is_skippable: true | ||
inputs: | ||
- pipeline_intermediate_files: sourcemaps/ios/index.js.map:BITRISE_APP_STORE_SOURCEMAP_PATH | ||
- deploy_path: sourcemaps/ios/index.js.map | ||
title: Deploy Source Map | ||
build_android_flask_release: | ||
before_run: | ||
- code_setup | ||
after_run: | ||
- _notify_failure_on_slack | ||
steps: | ||
- change-android-versioncode-and-versionname@1: | ||
inputs: | ||
- new_version_name: $FLASK_VERSION_NAME | ||
- new_version_code: $FLASK_VERSION_NUMBER | ||
- build_gradle_path: $PROJECT_LOCATION_ANDROID/app/build.gradle | ||
- file-downloader@1: | ||
inputs: | ||
- source: $BITRISEIO_ANDROID_FLASK_KEYSTORE_URL | ||
- destination: android/keystores/flaskRelease.keystore | ||
- restore-gradle-cache@1: {} | ||
- install-missing-android-tools@2: | ||
inputs: | ||
- ndk_revision: $NDK_VERSION | ||
- gradlew_path: $PROJECT_LOCATION/gradlew | ||
- script@1: | ||
inputs: | ||
- content: |- | ||
#!/usr/bin/env bash | ||
node -v | ||
METAMASK_BUILD_TYPE=flask METAMASK_ENVIRONMENT='production' yarn build:android:pre-release:bundle:flask | ||
title: Build Android Pre-Release Bundle | ||
is_always_run: false | ||
- save-gradle-cache@1: {} | ||
- [email protected]: | ||
is_always_run: false | ||
is_skippable: true | ||
inputs: | ||
- pipeline_intermediate_files: $PROJECT_LOCATION/app/build/outputs/apk/flask/release/app-flask-release.apk:BITRISE_PLAY_STORE_APK_PATH | ||
sethkfman marked this conversation as resolved.
Show resolved
Hide resolved
|
||
- deploy_path: $PROJECT_LOCATION/app/build/outputs/apk/flask/release/app-flask-release.apk | ||
title: Bitrise Deploy APK | ||
- [email protected]: | ||
is_always_run: false | ||
is_skippable: true | ||
inputs: | ||
- pipeline_intermediate_files: $PROJECT_LOCATION/app/build/outputs/apk/flask/release/sha512sums.txt:BITRISE_PLAY_STORE_SHA512SUMS_PATH | ||
- deploy_path: $PROJECT_LOCATION/app/build/outputs/apk/flask/release/sha512sums.txt | ||
title: Bitrise Deploy Checksum | ||
- [email protected]: | ||
is_always_run: false | ||
is_skippable: true | ||
inputs: | ||
- pipeline_intermediate_files: $PROJECT_LOCATION/app/build/outputs/mapping/flaskRelease/mapping.txt:BITRISE_PLAY_STORE_MAPPING_PATH | ||
- deploy_path: $PROJECT_LOCATION/app/build/outputs/mapping/flaskRelease/mapping.txt | ||
title: Bitrise ProGuard Map Files | ||
- [email protected]: | ||
is_always_run: false | ||
is_skippable: true | ||
inputs: | ||
- pipeline_intermediate_files: $PROJECT_LOCATION/app/build/outputs/bundle/flaskRelease/app-flask-release.aab:BITRISE_PLAY_STORE_ABB_PATH | ||
- deploy_path: $PROJECT_LOCATION/app/build/outputs/bundle/flaskRelease/app-flask-release.aab | ||
title: Bitrise Deploy AAB | ||
- [email protected]: | ||
is_always_run: false | ||
is_skippable: true | ||
inputs: | ||
- pipeline_intermediate_files: /bitrise/src/sourcemaps/android/index.js.map:BITRISE_PLAY_STORE_SOURCEMAP_PATH | ||
sethkfman marked this conversation as resolved.
Show resolved
Hide resolved
|
||
- deploy_path: sourcemaps/android/index.js.map | ||
title: Bitrise Deploy Sourcemaps | ||
meta: | ||
bitrise.io: | ||
stack: linux-docker-android-20.04 | ||
machine_type_id: elite-xl | ||
app: | ||
envs: | ||
- opts: | ||
|
@@ -706,6 +834,12 @@ app: | |
- opts: | ||
is_expand: false | ||
VERSION_NUMBER: 1126 | ||
- opts: | ||
is_expand: false | ||
FLASK_VERSION_NAME: 0.0.1 | ||
- opts: | ||
is_expand: false | ||
FLASK_VERSION_NUMBER: 1 | ||
- opts: | ||
is_expand: false | ||
ANDROID_APK_LINK: '' | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -8,7 +8,7 @@ | |
|
||
/* Begin PBXBuildFile section */ | ||
07CBADD9D4B441008304F8D3 /* EuclidCircularB-Light.otf in Resources */ = {isa = PBXBuildFile; fileRef = A98029A3662F4C1391489A6B /* EuclidCircularB-Light.otf */; }; | ||
0FD509E0336BF221F6527B24 /* BuildFile in Frameworks */ = {isa = PBXBuildFile; }; | ||
0FD509E0336BF221F6527B24 /* (null) in Frameworks */ = {isa = PBXBuildFile; }; | ||
13B07FBC1A68108700A75B9A /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; }; | ||
13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; | ||
13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; | ||
|
@@ -144,13 +144,13 @@ | |
B339FF32289ABD70001B89FB /* Branch.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 153F84C92319B8DB00C19B63 /* Branch.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; | ||
B339FF33289ABD70001B89FB /* Lottie.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 15723E2D225FD0B800A5B418 /* Lottie.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; | ||
B339FF3C289ABF2C001B89FB /* MetaMask-QA-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = B339FEA72899852C001B89FB /* MetaMask-QA-Info.plist */; }; | ||
B638844E306CAE9147B52C85 /* BuildFile in Frameworks */ = {isa = PBXBuildFile; }; | ||
B638844E306CAE9147B52C85 /* (null) in Frameworks */ = {isa = PBXBuildFile; }; | ||
BF39E5BAE0F34F9091FF6AC0 /* EuclidCircularB-Semibold.otf in Resources */ = {isa = PBXBuildFile; fileRef = A8DE9C5BC0714D648276E123 /* EuclidCircularB-Semibold.otf */; }; | ||
CD13D926E1E84D9ABFE672C0 /* Roboto-BlackItalic.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 3E2492C67CF345CABD7B8601 /* Roboto-BlackItalic.ttf */; }; | ||
CF98DA9C28D9FEB700096782 /* RCTScreenshotDetect.m in Sources */ = {isa = PBXBuildFile; fileRef = CF98DA9B28D9FEB700096782 /* RCTScreenshotDetect.m */; }; | ||
CFD8DFC828EDD4C800CC75F6 /* RCTScreenshotDetect.m in Sources */ = {isa = PBXBuildFile; fileRef = CF98DA9B28D9FEB700096782 /* RCTScreenshotDetect.m */; }; | ||
D171C39A8BD44DBEB6B68480 /* EuclidCircularB-MediumItalic.otf in Resources */ = {isa = PBXBuildFile; fileRef = 42CBA652072F4BE2A8B815C1 /* EuclidCircularB-MediumItalic.otf */; }; | ||
D45BF85DECACCB74EDCBE88A /* BuildFile in Frameworks */ = {isa = PBXBuildFile; }; | ||
D45BF85DECACCB74EDCBE88A /* (null) in Frameworks */ = {isa = PBXBuildFile; }; | ||
DC6A024F56DD43E1A83B47B1 /* Roboto-MediumItalic.ttf in Resources */ = {isa = PBXBuildFile; fileRef = D5FF0FF1DFB74B3C8BB99E09 /* Roboto-MediumItalic.ttf */; }; | ||
DDB2D8FF8BDA806A38D61B1B /* libPods-MetaMask-QA.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E0B857D61941CE8A3F59C662 /* libPods-MetaMask-QA.a */; }; | ||
E34DE917F6FC4438A6E88402 /* EuclidCircularB-BoldItalic.otf in Resources */ = {isa = PBXBuildFile; fileRef = 13EE4910D3BD408A8FCCA5D7 /* EuclidCircularB-BoldItalic.otf */; }; | ||
|
@@ -442,9 +442,9 @@ | |
15ACC9FC22655C3A0063978B /* Lottie.framework in Frameworks */, | ||
15F7795E22A1B7B500B1DF8C /* Mixpanel.framework in Frameworks */, | ||
153F84CA2319B8FD00C19B63 /* Branch.framework in Frameworks */, | ||
0FD509E0336BF221F6527B24 /* BuildFile in Frameworks */, | ||
D45BF85DECACCB74EDCBE88A /* BuildFile in Frameworks */, | ||
B638844E306CAE9147B52C85 /* BuildFile in Frameworks */, | ||
0FD509E0336BF221F6527B24 /* (null) in Frameworks */, | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This was auto generated but should we be concerned by these null values? |
||
D45BF85DECACCB74EDCBE88A /* (null) in Frameworks */, | ||
B638844E306CAE9147B52C85 /* (null) in Frameworks */, | ||
782BB8912FB02775B458B3A2 /* libPods-MetaMask.a in Frameworks */, | ||
); | ||
runOnlyForDeploymentPostprocessing = 0; | ||
|
@@ -1450,11 +1450,13 @@ | |
CLANG_ENABLE_MODULES = YES; | ||
CODE_SIGN_ENTITLEMENTS = MetaMask/MetaMaskDebug.entitlements; | ||
CODE_SIGN_IDENTITY = "iPhone Developer"; | ||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution"; | ||
CODE_SIGN_STYLE = Manual; | ||
CURRENT_PROJECT_VERSION = 1126; | ||
DEAD_CODE_STRIPPING = YES; | ||
DEBUG_INFORMATION_FORMAT = dwarf; | ||
DEVELOPMENT_TEAM = 48XVW22RCG; | ||
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = 48XVW22RCG; | ||
ENABLE_BITCODE = NO; | ||
FRAMEWORK_SEARCH_PATHS = ( | ||
"$(inherited)", | ||
|
@@ -1501,6 +1503,7 @@ | |
PRODUCT_BUNDLE_IDENTIFIER = "io.metamask.$(PRODUCT_NAME:rfc1034identifier)"; | ||
PRODUCT_NAME = MetaMask; | ||
PROVISIONING_PROFILE_SPECIFIER = "match Development io.metamask.MetaMask"; | ||
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "Bitrise AppStore io.metamask.MetaMask"; | ||
SWIFT_OBJC_BRIDGING_HEADER = "MetaMask-Bridging-Header.h"; | ||
SWIFT_OPTIMIZATION_LEVEL = "-Onone"; | ||
SWIFT_VERSION = 5.0; | ||
|
@@ -1583,11 +1586,13 @@ | |
CLANG_ENABLE_MODULES = YES; | ||
CODE_SIGN_ENTITLEMENTS = MetaMask/MetaMaskDebug.entitlements; | ||
CODE_SIGN_IDENTITY = "iPhone Developer"; | ||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution"; | ||
CODE_SIGN_STYLE = Manual; | ||
CURRENT_PROJECT_VERSION = 1126; | ||
DEAD_CODE_STRIPPING = YES; | ||
DEBUG_INFORMATION_FORMAT = dwarf; | ||
DEVELOPMENT_TEAM = 48XVW22RCG; | ||
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = 48XVW22RCG; | ||
ENABLE_BITCODE = NO; | ||
FRAMEWORK_SEARCH_PATHS = ( | ||
"$(inherited)", | ||
|
@@ -1632,9 +1637,10 @@ | |
"-ObjC", | ||
"-lc++", | ||
); | ||
PRODUCT_BUNDLE_IDENTIFIER = "io.metamask.$(PRODUCT_NAME:rfc1034identifier)"; | ||
PRODUCT_BUNDLE_IDENTIFIER = "io.metamask.MetaMask-Flask"; | ||
PRODUCT_NAME = "$(TARGET_NAME)"; | ||
PROVISIONING_PROFILE_SPECIFIER = "match Development io.metamask.MetaMask"; | ||
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "Bitrise AppStore io.metamask.MetaMask-Flask"; | ||
SWIFT_OBJC_BRIDGING_HEADER = "MetaMask-Bridging-Header.h"; | ||
SWIFT_OPTIMIZATION_LEVEL = "-Onone"; | ||
SWIFT_VERSION = 5.0; | ||
|
@@ -1655,6 +1661,7 @@ | |
CURRENT_PROJECT_VERSION = 1126; | ||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; | ||
DEVELOPMENT_TEAM = 48XVW22RCG; | ||
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = 48XVW22RCG; | ||
ENABLE_BITCODE = NO; | ||
FRAMEWORK_SEARCH_PATHS = ( | ||
"$(inherited)", | ||
|
@@ -1703,6 +1710,7 @@ | |
PRODUCT_BUNDLE_IDENTIFIER = "io.metamask.$(PRODUCT_NAME:rfc1034identifier)"; | ||
PRODUCT_NAME = "$(TARGET_NAME)"; | ||
PROVISIONING_PROFILE_SPECIFIER = "Bitrise AppStore io.metamask.MetaMask"; | ||
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "Bitrise AppStore io.metamask.MetaMask-Flask"; | ||
SWIFT_OBJC_BRIDGING_HEADER = "MetaMask-Bridging-Header.h"; | ||
SWIFT_VERSION = 5.0; | ||
VERSIONING_SYSTEM = "apple-generic"; | ||
|
@@ -1798,11 +1806,13 @@ | |
CLANG_ENABLE_MODULES = YES; | ||
CODE_SIGN_ENTITLEMENTS = MetaMask/MetaMaskDebug.entitlements; | ||
CODE_SIGN_IDENTITY = "iPhone Developer"; | ||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; | ||
CODE_SIGN_STYLE = Manual; | ||
CURRENT_PROJECT_VERSION = 1126; | ||
DEAD_CODE_STRIPPING = YES; | ||
DEBUG_INFORMATION_FORMAT = dwarf; | ||
DEVELOPMENT_TEAM = 48XVW22RCG; | ||
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = 48XVW22RCG; | ||
ENABLE_BITCODE = NO; | ||
FRAMEWORK_SEARCH_PATHS = ( | ||
"$(inherited)", | ||
|
@@ -1849,6 +1859,7 @@ | |
PRODUCT_BUNDLE_IDENTIFIER = "io.metamask.MetaMask-QA"; | ||
PRODUCT_NAME = "$(TARGET_NAME)"; | ||
PROVISIONING_PROFILE_SPECIFIER = "match Development io.metamask.MetaMask"; | ||
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "match Development io.metamask.MetaMask"; | ||
SWIFT_OBJC_BRIDGING_HEADER = "MetaMask-Bridging-Header.h"; | ||
SWIFT_OPTIMIZATION_LEVEL = "-Onone"; | ||
SWIFT_VERSION = 5.0; | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you add tests with explicit output and comments? This thing is getting out of hand.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
On extension we found it easier to disable Sentry entirely in development builds (see https://github.com/MetaMask/metamask-extension/blob/230c0c6fa1626bc1afd68c22321f5c166425dd12/app/scripts/lib/setupSentry.js#L88). Most of our Sentry testing was done with QA or production-like builds as part of regression testing. On the rare occasion that we wanted to test Sentry with a development build, it's easy to comment out that line.
That would reduce this condition to a single ternary:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we wanted to go that route here, and disable Sentry for development builds, that would be simpler to do in a separate PR. Better to keep this one focused if we can.
A more direct solution to cleaning this up for now would be to split this into two steps: determine the environment, then the sentry environment. e.g.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have went ahead and modified this logic to live inside a function I am calling
deriveSentryEnvironment
.This function is well tested in the new
sentryUtils.test.ts
file. I opted to not split up the meta mask environment and sentry environment to keep continuity with what we have already published in sentry. what would be the use case for having a separatemetamaskEnvironment
if we don't log it in sentry?