-
Notifications
You must be signed in to change notification settings - Fork 3k
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
[No QA][HybridApp] Fix is-hybrid-app.sh
script
#57484
base: main
Are you sure you want to change the base?
[No QA][HybridApp] Fix is-hybrid-app.sh
script
#57484
Conversation
is-hybrid-app.sh
scriptis-hybrid-app.sh
script
@MonilBhavsar Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button] |
I think we should run the builds here to verify if the script changes didn't break the deployment on CI overall |
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.
lgtm 👍🏻
Explanation of Change
Slack thread: https://swmansion.slack.com/archives/C01GTK53T8Q/p1740565655682309
is-hybrid-app.sh
was exiting every time any command failed with a non-zero status due toset -e
at the beginning. This script is used in many other scripts to control the flow. The previous approach led to mysterious issues that were hard to debug.The PR changes the implementation of
is-hybrid-app.sh
:set -e
is no longer used and we handle more cases explicitly and verboselyjq
is installed. If it isn't, we prompt the user with an errorstderr
, so even if we assign the output to a variable, it should now be verbose in case of any errors.Fixed Issues
$
PROPOSAL:
Tests
Verify that
is-hybrid-app.sh
,npm i
,npm run {ios,android}
works correctly when:a)
Mobile-Expensify
directory does not exist (assumes standalone NewDot)b)
Mobile-Expensify
directory exists and is empty (assumes standalone NewDot)c)
Mobile-Expensify
directory exists andMobile-Expensify/package.json
exists (assumes HybridApp)d)
Mobile-Expensify
directory exists andMobile-Expensify/package.json
exists, but somehow package name is incorrect. (assumes standalone NewDot)When
jq
is not installedrun-build.sh
,clean.sh
,postInstall.sh
should exit immediately when we reachjq
check inis-hybrid-app.sh
.jq is not installed. Please install jq and try again
should be printed.Offline tests
QA Steps
PR Author Checklist
### Fixed Issues
section aboveTests
sectionOffline steps
sectionQA steps
sectiontoggleReport
and notonIconClick
)src/languages/*
files and using the translation methodSTYLE.md
) were followedAvatar
, I verified the components usingAvatar
are working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG)
)Avatar
is modified, I verified thatAvatar
is working as expected in all cases)Design
label and/or tagged@Expensify/design
so the design team can review the changes.ScrollView
component to make it scrollable when more elements are added to the page.main
branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTest
steps.Screenshots/Videos
Android: Native
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari
MacOS: Desktop