Skip to content
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

Update version to 1.2.78-0 on staging #15617

Merged
merged 131 commits into from
Mar 2, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
131 commits
Select commit Hold shift + click to select a range
cd73cba
Fix set-pusher-suffix after linter
roryabraham Dec 10, 2022
0e3c449
Use 4 spaces
roryabraham Dec 10, 2022
c4762c0
Remove dead ExpensifyCash files
roryabraham Feb 3, 2023
0d34efd
disabled timezone options if it is set to automatic
priyeshshah11 Feb 15, 2023
073f8f7
updated the comment in componentDidUpdate
priyeshshah11 Feb 16, 2023
9e22ee5
refactored componentDidUpdate to fix options not udating issue
priyeshshah11 Feb 16, 2023
3f587b6
refactored get timezone code to follow DRY
priyeshshah11 Feb 16, 2023
23eb39b
fix composer early line break
bernhardoj Feb 17, 2023
3f04764
fix lint
bernhardoj Feb 17, 2023
953ca2e
Code refactoring to follow DRY & add comments
priyeshshah11 Feb 19, 2023
97c20b3
minor code cleanup
priyeshshah11 Feb 19, 2023
c6888fa
migrating PronounsPage to class component
gedu Feb 20, 2023
0e0e851
Show loading while authenticating from validate code link.
cristipaval Feb 20, 2023
c809761
trim the search value and send the __predefined_xxxx to update
gedu Feb 21, 2023
ebb7231
Merge branch 'main' into 15211/search_pronouns
gedu Feb 21, 2023
9d2cc09
removed unused import
gedu Feb 21, 2023
9b704da
Fixed lint errors
gedu Feb 21, 2023
151833d
passed down query and hash params when app is opened from the browser
allroundexperts Feb 17, 2023
1701c8c
filled input
gedu Feb 23, 2023
d94ae36
Update expensify-common
Gonals Feb 23, 2023
e27a3ae
merged master & resolved conflicts
priyeshshah11 Feb 23, 2023
93c6a7b
fix: remove default avatar that is used in old version
tienifr Feb 23, 2023
53a0817
removed input filled feature
gedu Feb 23, 2023
850f499
fix proptypes
ctkochan22 Feb 23, 2023
7927a95
fix "LHN - Workspace badge is not fully visible/missing for some Room…
situchan Feb 23, 2023
0ea435a
Show the last closed report action
mountiny Feb 24, 2023
83eb75c
Clean up
mountiny Feb 24, 2023
f77b3ba
Fix lint
mountiny Feb 24, 2023
68c3c56
fix: merge main
tienifr Feb 24, 2023
5f32a0e
Use lodashFindLast
mountiny Feb 24, 2023
0fc8590
use variable for workspace badge max width
situchan Feb 24, 2023
9651220
Show NotFoundPage if report does not exist in sub report views
s77rt Feb 24, 2023
15bcf15
Renamed withReportOrNavigateHome to withReportOrNotFound
s77rt Feb 24, 2023
626f81f
Account for markdown using debounced comment counter
redstar504 Feb 8, 2023
d6da820
fix: update version of expensify-common repo
tienifr Feb 27, 2023
13f2e77
Fix lint
mountiny Feb 27, 2023
d267c3a
Merge remote-tracking branch 'origin/main' into cristi_instantly-show…
cristipaval Feb 27, 2023
52eb270
update both files
Gonals Feb 27, 2023
d97352c
conflicts
Gonals Feb 27, 2023
7c2e061
Removed extra bottom margin and updated the UI of the items
gedu Feb 27, 2023
278c1fe
update Onfido sdk + fix allowed documents
nkuoch Feb 3, 2023
8cc4230
Fix androidManifest and Podfile
nkuoch Feb 27, 2023
f2be136
Issue #14886
abdulrahuman5196 Feb 27, 2023
3aefddf
Update K2 link to publicly accessible location
amyevans Feb 27, 2023
3b01d3b
Remove inline script tag from help site
roryabraham Feb 27, 2023
caf5aec
Add correct icon proptypes to IOU pages / reportPropTypes
grgia Feb 27, 2023
411dfc9
Merge pull request #15262 from allroundexperts/fix-15059
marcochavezf Feb 28, 2023
196e6d7
Merge pull request #15515 from Expensify/Rory-RemoveInlineHelpDotScript
nathanmetcalf Feb 28, 2023
b337fd1
Update version to 1.2.77-2
OSBotify Feb 28, 2023
eb183ac
Merge pull request #15542 from Expensify/version-BUILD-8A630442-3D59-…
OSBotify Feb 28, 2023
7407ac0
Make canEditReportAction return false for deleted actions
roryabraham Feb 28, 2023
fe335c5
use policyName sent back with public rooms for people who aren't in t…
jasperhuangg Feb 28, 2023
7137be7
Merge pull request #15514 from Expensify/amy-update-k2-link
robertjchen Feb 28, 2023
f2b1182
Fix hover effect on request or send money messages
tienifr Feb 28, 2023
6b8e8f5
Add dynamic languages and translate locale picker
jatinsonijs Feb 28, 2023
f7ca259
fix: move the onMouseDown to outside view
tienifr Feb 28, 2023
148c83f
Fix lottie-react-native version
nkuoch Feb 28, 2023
4d05d7b
Merge pull request #15474 from Expensify/vit-fixIncorrectClosedReport…
mountiny Feb 28, 2023
d952298
reset the input after component update
gedu Feb 28, 2023
74ffbb6
Merge pull request #15464 from Expensify/ckt_icon_propTypeError
Julesssss Feb 28, 2023
5614f3c
Update TestRail_Navigation_C+.md
dylanexpensify Feb 28, 2023
9d044b1
updated comments
gedu Feb 28, 2023
75bc60b
Merge pull request #15557 from Expensify/dylanexpensify-patch-1
cristipaval Feb 28, 2023
dac6e35
Revert "replace onModalHide with onDismiss for the web"
cristipaval Feb 28, 2023
24b91a7
Merge pull request #15317 from gedu/15211/search_pronouns
puneetlath Feb 28, 2023
599c2b0
Merge pull request #15176 from priyeshshah11/disable-timezone-selection
tylerkaraszewski Feb 28, 2023
0962a8c
Merge pull request #15563 from Expensify/revert-15298-fix-issue-14848
flodnv Feb 28, 2023
5b19c60
Update version to 1.2.77-3
OSBotify Feb 28, 2023
1856848
Merge pull request #15566 from Expensify/version-BUILD-16D7BC22-D422-…
OSBotify Feb 28, 2023
05c84c8
Merge pull request #15509 from abdulrahuman5196/group-member-order
luacmartins Feb 28, 2023
5674cb1
Merge pull request #15501 from redstar504/Brayden-MarkdownLength
francoisl Feb 28, 2023
9407b82
Merge pull request #15551 from tienifr/fix/15368-fix-hover-effect-on-…
AndrewGable Feb 28, 2023
ef46d29
Merge pull request #15463 from situchan/fix/14491-lhn-workspace-badge…
grgia Feb 28, 2023
90df45e
Update feedback message wen the link is sent
pecanoro Feb 28, 2023
cda177c
Merge pull request #15499 from s77rt/with-report-or-notfound
AndrewGable Feb 28, 2023
4c34be3
Merge branch 'main' into Rory-RemoveExpensifyCash
roryabraham Feb 28, 2023
e62b4bb
Remove references to ExpensifyCash
roryabraham Feb 28, 2023
f730c16
Merge pull request #15243 from bernhardoj/fix/14934
roryabraham Feb 28, 2023
c62574e
Decode transaction messages because they may have HTML Entities
yuwenmemon Mar 1, 2023
b703eac
Merge branch 'main' into Rory-FixPusherSuffix
roryabraham Mar 1, 2023
c35f777
Merge pull request #15578 from Expensify/yuwen-decodeDollaz
aldo-expensify Mar 1, 2023
1b4bf4d
fix: merge main
tienifr Mar 1, 2023
928ba7d
Update version to 1.2.77-4
OSBotify Mar 1, 2023
44c19cb
Merge pull request #15587 from Expensify/version-BUILD-482E6BF9-387B-…
OSBotify Mar 1, 2023
cbd7dc5
Modify emojiHeaderContainer style with a -1 top, only on non-native d…
patrickcze Mar 1, 2023
a976c8a
Fix indentation
jatinsonijs Mar 1, 2023
f59daa3
Adding a clear comment of why we are making this change to the emojiH…
patrickcze Mar 1, 2023
f97b385
Merge pull request #15545 from Expensify/Rory-FixQuickEditWithDeleted…
roryabraham Mar 1, 2023
85c2798
Merge pull request #15411 from tienifr/fix/14819-Avatar-displayed-in-…
Beamanator Mar 1, 2023
472affc
Merge pull request #14786 from Expensify/Rory-RemoveExpensifyCash
Julesssss Mar 1, 2023
7141c67
fix: merge main
tienifr Mar 1, 2023
26cc51d
fix: add comments again
tienifr Mar 1, 2023
7d6826b
fix: added vertical styles to base pre renderer
allroundexperts Mar 1, 2023
06f75ab
Merge pull request #13497 from Expensify/Rory-FixPusherSuffix
roryabraham Mar 1, 2023
1391e60
Expanding for readability, and updating import order
patrickcze Mar 1, 2023
f630259
Move the Small Business playbook to the right location
deetergp Mar 1, 2023
775610b
Add missing hyphen
deetergp Mar 1, 2023
bbe5c1d
Merge pull request #15601 from Expensify/scott-moveSmallBusinessPlaybook
amyevans Mar 1, 2023
7f74d55
Merge pull request #15573 from Expensify/rocio-CodeSent
NikkiWines Mar 1, 2023
0260d17
Merge pull request #15589 from patrickcze/ISSUE-15282
thienlnam Mar 1, 2023
3f1379c
Merge pull request #15553 from jatinsonijs/fix-locale-picker-values-n…
aldo-expensify Mar 1, 2023
04e9d4f
Revert "Fix miss-matched SMS email suffix on sign in page"
yuwenmemon Mar 1, 2023
434dbc2
Merge pull request #15604 from Expensify/revert-15351-jules-fixAndAli…
luacmartins Mar 2, 2023
99d5741
Merge pull request #15311 from Expensify/cristi_instantly-show-abraca…
deetergp Mar 2, 2023
c1acd52
Revert "Revert "Fix miss-matched SMS email suffix on sign in page""
yuwenmemon Mar 2, 2023
221de93
Create composite action to build test APK
roryabraham Mar 2, 2023
988dcfe
Create composite action to build test APK
roryabraham Mar 2, 2023
8be2ec4
Create callable workflow to run E2E performance tests
roryabraham Mar 2, 2023
4078b50
Use callable workflow in preDeploy.yml
roryabraham Mar 2, 2023
84e37e6
Merge pull request #15606 from Expensify/revert-15604-revert-15351-ju…
roryabraham Mar 2, 2023
2382a47
Add ref for callable workflow
roryabraham Mar 2, 2023
7cc7b65
Don't rebuild baseline apk if it already exists
roryabraham Mar 2, 2023
4512136
Remove TODO
roryabraham Mar 2, 2023
bff8b0b
Merge pull request #15546 from Expensify/jasper-policyNameForPublicRooms
jasperhuangg Mar 2, 2023
c0f14f4
Merge pull request #15409 from Expensify/alberto-heading
Gonals Mar 2, 2023
7c226dd
Merge pull request #15570 from allroundexperts/fix-15299
mountiny Mar 2, 2023
880109f
Merge pull request #15554 from tienifr/fix/15079-donot-hide-keyboard-…
nkuoch Mar 2, 2023
b6ebac3
Merge pull request #14802 from Expensify/nat-onfidonocross
nkuoch Mar 2, 2023
ded8990
Resolve conflicts by merging branch main
tienifr Mar 2, 2023
eca2910
Add expression brackets around if statements
roryabraham Mar 2, 2023
1a1ce51
Only run E2E tests if PR is triggering a deploy
roryabraham Mar 2, 2023
2ec65cd
Rely solely on PR_NUMBER and use the merge_commit_sha of the PR as th…
roryabraham Mar 2, 2023
c7a8d3a
Skip linting of e2e performance tests due to bug in schemastore
roryabraham Mar 2, 2023
7190ca2
Merge pull request #15504 from tienifr/fix/14941-whitespace-above-blo…
thienlnam Mar 2, 2023
14f9cfd
Fix description of prepare job
roryabraham Mar 2, 2023
27e1951
Merge pull request #15608 from Expensify/Rory-RunE2ETestsImperatively
luacmartins Mar 2, 2023
fde8cd5
Remove DELTA_REF input from E2ETests workflow call
roryabraham Mar 2, 2023
56dafec
Merge pull request #15613 from Expensify/Rory-FixE2ETestInputs
luacmartins Mar 2, 2023
2d9449a
Update version to 1.2.78-0
OSBotify Mar 2, 2023
2241eda
Merge pull request #15616 from Expensify/version-PATCH-8A6DE302-B86A-…
OSBotify Mar 2, 2023
34a739c
Merge branch 'main' into update-staging-from-main
OSBotify Mar 2, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions .github/actions/composite/buildAndroidAPK/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Build an Android apk
description: Build an Android apk for an E2E test build and upload it as an artifact

inputs:
ARTIFACT_NAME:
description: The name of the workflow artifact where the APK should be uploaded
required: true

runs:
using: composite
steps:
- uses: Expensify/App/.github/actions/composite/setupNode@main

- uses: ruby/setup-ruby@eae47962baca661befdfd24e4d6c34ade04858f7
with:
ruby-version: '2.7'
bundler-cache: true

- uses: gradle/gradle-build-action@3fbe033aaae657f011f88f29be9e65ed26bd29ef

- name: Build APK
run: npm run android-build-e2e
shell: bash

- name: Upload APK
uses: actions/upload-artifact@65d862660abb392b8c4a3d1195a2108db131dd05
with:
name: ${{ inputs.ARTIFACT_NAME }}
path: android/app/build/outputs/apk/e2eRelease/app-e2eRelease.apk
2 changes: 1 addition & 1 deletion .github/scripts/validateActionsAndWorkflows.sh
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ for ((i=0; i < ${#WORKFLOWS[@]}; i++)); do
WORKFLOW=${WORKFLOWS[$i]}

# Skip linting e2e workflow due to bug here: https://github.com/SchemaStore/schemastore/issues/2579
if [[ "$WORKFLOW" == './workflows/preDeploy.yml' ]]; then
if [[ "$WORKFLOW" == './workflows/e2ePerformanceTests.yml' ]]; then
continue
fi

Expand Down
173 changes: 173 additions & 0 deletions .github/workflows/e2ePerformanceTests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,173 @@
name: E2E Performance Tests

on:
workflow_call:
inputs:
PR_NUMBER:
description: A PR to run performance tests against. If already merged, the merge commit will be used. If not, the test merge commit will be used.
type: string
required: true

workflow_dispatch:
inputs:
PR_NUMBER:
description: A PR to run performance tests against. If already merged, the merge commit will be used. If not, the test merge commit will be used.
type: string
required: true

jobs:
prepare:
runs-on: ubuntu-latest
name: Prepare to run builds
outputs:
VERSION: ${{ steps.getMostRecentRelease.outputs.VERSION }}
DELTA_REF: ${{ steps.getMergeCommitSha.outputs.MERGE_COMMIT_SHA }}
steps:
- uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8

- name: Get most recent release version
id: getMostRecentRelease
run: echo "VERSION=$(gh release list --limit 1 | awk '{ print $1 }')" >> "$GITHUB_OUTPUT"
env:
GITHUB_TOKEN: ${{ github.token }}

- name: Get pull request details
id: getPullRequestDetails
uses: Expensify/App/.github/actions/javascript/getPullRequestDetails@main
with:
GITHUB_TOKEN: ${{ github.token }}
PULL_REQUEST_NUMBER: ${{ inputs.PR_NUMBER }}
user: ${{ github.actor }}

- name: Get merge commit sha for the pull request
id: getMergeCommitSha
run: echo "MERGE_COMMIT_SHA=${{ steps.getPullRequestDetails.outputs.MERGE_COMMIT_SHA }}" >> "$GITHUB_OUTPUT"
env:
GITHUB_TOKEN: ${{ github.token }}

buildBaseline:
runs-on: ubuntu-20.04-64core
needs: [prepare]
name: Build apk from latest release as a baseline
steps:
- uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8
with:
fetch-depth: 0

- name: Check if there's an existing artifact for this baseline
id: checkForExistingArtifact
uses: xSAVIKx/artifact-exists-action@3c5206b1411c0d2fc0840f56b7140646933d9d6a
with:
name: baseline-apk-${{ needs.prepare.outputs.VERSION }}

- name: Skip build if there's already an existing artifact for the baseline
if: ${{ fromJSON(steps.checkForExistingArtifact.outputs.exists) }}
run: echo 'APK for baseline ${{ needs.prepare.outputs.VERSION }} already exists, reusing existing build'

- name: Checkout "Baseline" commit (last release)
if: ${{ !fromJSON(steps.checkForExistingArtifact.outputs.exists) }}
run: git checkout ${{ needs.prepare.outputs.VERSION }}

- name: Build APK
if: ${{ !fromJSON(steps.checkForExistingArtifact.outputs.exists) }}
uses: Expensify/App/.github/actions/composite/buildAndroidAPK@main
with:
ARTIFACT_NAME: baseline-apk-${{ needs.prepare.outputs.VERSION }}

buildDelta:
runs-on: ubuntu-20.04-64core
needs: [prepare]
name: Build apk from delta ref
steps:
- uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8
with:
fetch-depth: 0

- name: Checkout "delta ref"
run: git checkout ${{ needs.prepare.outputs.DELTA_REF }}
env:
GITHUB_TOKEN: ${{ github.token }}

- name: Build APK
uses: Expensify/App/.github/actions/composite/buildAndroidAPK@main
with:
ARTIFACT_NAME: delta-apk-${{ needs.prepare.outputs.DELTA_REF }}

runTestsInAWS:
runs-on: ubuntu-20.04-64core
needs: [prepare, buildBaseline, buildDelta]
name: Run E2E tests in AWS device farm
steps:
- uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8
with:
ref: ${{ needs.prepare.outputs.DELTA_REF }}

- name: Make zip directory for everything to send to AWS Device Farm
run: mkdir zip

- name: Download baseline APK
uses: actions/download-artifact@e9ef242655d12993efdcda9058dee2db83a2cb9b
with:
name: baseline-apk-${{ needs.prepare.outputs.VERSION }}
path: zip

- name: Download delta APK
uses: actions/download-artifact@e9ef242655d12993efdcda9058dee2db83a2cb9b
with:
name: delta-apk-${{ needs.prepare.outputs.DELTA_REF }}
path: zip

- name: Copy e2e code into zip folder
run: cp -r tests/e2e zip

- name: Zip everything in the zip directory up
run: zip -qr App.zip ./zip

- name: Configure AWS Credentials
uses: Expensify/App/.github/actions/composite/configureAwsCredentials@main
with:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_REGION: us-west-2

- name: Schedule AWS Device Farm test run
uses: realm/aws-devicefarm/test-application@7b9a91236c456c97e28d384c9e476035d5ea686b
with:
name: App E2E Performance Regression Tests
project_arn: ${{ secrets.AWS_PROJECT_ARN }}
device_pool_arn: ${{ secrets.AWS_DEVICE_POOL_ARN }}
app_file: zip/app-e2eRelease-baseline.apk
app_type: ANDROID_APP
test_type: APPIUM_NODE
test_package_file: App.zip
test_package_type: APPIUM_NODE_TEST_PACKAGE
test_spec_file: tests/e2e/TestSpec.yml
test_spec_type: APPIUM_NODE_TEST_SPEC
remote_src: false
file_artifacts: CustomerArtifacts.zip
cleanup: true

- name: Unzip AWS Device Farm results
if: ${{ always() }}
run: unzip CustomerArtifacts.zip

- name: Print AWS Device Farm run results
if: ${{ always() }}
run: cat "./Host_Machine_Files/\$WORKING_DIRECTORY/output.md"

- name: Print AWS Device Farm verbose run results
if: ${{ always() && fromJSON(runner.debug) }}
run: cat "./Host_Machine_Files/\$WORKING_DIRECTORY/debug.log"

- name: Check if test failed, if so post the results and add the DeployBlocker label
if: ${{ github.event_name == 'workflow_call' }}
run: |
if grep -q '🔴' ./Host_Machine_Files/\$WORKING_DIRECTORY/output.md; then
gh pr edit ${{ inputs.PR_NUMBER }} --add-label DeployBlockerCash
gh pr comment ${{ inputs.PR_NUMBER }} -F ./Host_Machine_Files/\$WORKING_DIRECTORY/output.md
gh pr comment ${{ inputs.PR_NUMBER }} -b "@Expensify/mobile-deployers 📣 Please look into this performance regression as it's a deploy blocker."
else
echo '✅ no performance regression detected'
fi
env:
GITHUB_TOKEN: ${{ github.token }}
128 changes: 7 additions & 121 deletions .github/workflows/preDeploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -222,124 +222,10 @@ jobs:

So it might take a while before you're paid for your work, but we typically post multiple new jobs every day, so there's plenty of opportunity. I hope you've had a positive experience contributing to this repo! :blush:

e2e-tests:
name: "Run e2e performance regression tests"
runs-on: ubuntu-20.04-64core
steps:
- uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8
with:
fetch-depth: 0

- uses: Expensify/App/.github/actions/composite/setupNode@main

- uses: ruby/setup-ruby@eae47962baca661befdfd24e4d6c34ade04858f7
with:
ruby-version: '2.7'
bundler-cache: true

# Cache gradle to improve Android build time
- name: Gradle cache
uses: gradle/gradle-build-action@3fbe033aaae657f011f88f29be9e65ed26bd29ef

- name: Make zip directory for everything to send to AWS Device Farm
run: mkdir zip

- name: Checkout "Compare" commit
run: git checkout ${{ github.event.before }}

- name: Install node packages
uses: nick-invision/retry@0711ba3d7808574133d713a0d92d2941be03a350
with:
timeout_minutes: 10
max_attempts: 5
command: npm ci

- name: Build "Compare" APK
run: npm run android-build-e2e

- name: Copy "Compare" APK
run: cp android/app/build/outputs/apk/e2eRelease/app-e2eRelease.apk zip/app-e2eRelease-compare.apk

- name: Checkout "Baseline" commit (last release)
run: git checkout "$(gh release list --limit 1 | awk '{ print $1 }')"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Install node packages
uses: nick-invision/retry@0711ba3d7808574133d713a0d92d2941be03a350
with:
timeout_minutes: 10
max_attempts: 5
command: npm ci

- name: Build "Baseline" APK
run: npm run android-build-e2e

- name: Copy "Baseline" APK
run: cp android/app/build/outputs/apk/e2eRelease/app-e2eRelease.apk zip/app-e2eRelease-baseline.apk

- name: Checkout previous branch for source code to run on AWS Device farm
run: git checkout -

- name: Copy e2e code into zip folder
run: cp -r tests/e2e zip

- name: Zip everything in the zip directory up
run: zip -qr App.zip ./zip

- name: Configure AWS Credentials
uses: Expensify/App/.github/actions/composite/configureAwsCredentials@main
with:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_REGION: us-west-2

- name: Schedule AWS Device Farm test run
uses: realm/aws-devicefarm/test-application@7b9a91236c456c97e28d384c9e476035d5ea686b
with:
name: App E2E Performance Regression Tests
project_arn: ${{ secrets.AWS_PROJECT_ARN }}
device_pool_arn: ${{ secrets.AWS_DEVICE_POOL_ARN }}
app_file: zip/app-e2eRelease-baseline.apk
app_type: ANDROID_APP
test_type: APPIUM_NODE
test_package_file: App.zip
test_package_type: APPIUM_NODE_TEST_PACKAGE
test_spec_file: tests/e2e/TestSpec.yml
test_spec_type: APPIUM_NODE_TEST_SPEC
remote_src: false
file_artifacts: Customer Artifacts.zip
cleanup: true

- name: Unzip AWS Device Farm results
if: ${{ always() }}
run: unzip Customer\ Artifacts.zip

- name: Print AWS Device Farm run results
if: ${{ always() }}
run: cat "./Host_Machine_Files/\$WORKING_DIRECTORY/debug.log"

- name: Set output of AWS Device Farm into GitHub ENV
run: |
{ echo 'OUTPUT<<EOF'; cat ./Host_Machine_Files/\$WORKING_DIRECTORY/output.md; echo 'EOF'; } >> "$GITHUB_ENV"

- name: Get merged pull request
id: getMergedPullRequest
# TODO: Point back action actions-ecosystem after https://github.com/actions-ecosystem/action-get-merged-pull-request/pull/223 is merged
uses: roryabraham/action-get-merged-pull-request@7a7a194f6ff8f3eef58c822083695a97314ebec1
with:
github_token: ${{ secrets.GITHUB_TOKEN }}

- name: Leave output of AWS Device Farm as a PR comment
run: |
gh pr comment ${{ steps.getMergedPullRequest.outputs.number }} -F ./Host_Machine_Files/\$WORKING_DIRECTORY/output.md
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Check if test failed, if so leave a deploy blocker label
if: ${{ contains(env.OUTPUT, '🔴') }}
run: |
gh pr edit ${{ steps.getMergedPullRequest.outputs.number }} --add-label 'DeployBlockerCash'
gh pr comment ${{ steps.getMergedPullRequest.outputs.number }} -b "@Expensify/mobile-deployers 📣 Please look into this performance regression as it's a deploy blocker."
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
e2ePerformanceTests:
needs: [chooseDeployActions]
if: ${{ needs.chooseDeployActions.outputs.SHOULD_DEPLOY }}
uses: Expensify/App/.github/workflows/e2ePerformanceTests.yml@main
secrets: inherit
with:
PR_NUMBER: ${{ needs.chooseDeployActions.outputs.MERGED_PR }}
4 changes: 2 additions & 2 deletions android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -156,8 +156,8 @@ android {
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
multiDexEnabled rootProject.ext.multiDexEnabled
versionCode 1001027704
versionName "1.2.77-4"
versionCode 1001027800
versionName "1.2.78-0"
buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled().toString()

if (isNewArchitectureEnabled()) {
Expand Down
4 changes: 3 additions & 1 deletion android/app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.expensify.chat">

<uses-permission android:name="android.permission.INTERNET" />
Expand All @@ -15,7 +16,8 @@
android:roundIcon="@mipmap/ic_launcher_round"
android:allowBackup="false"
android:resizeableActivity="false"
android:theme="@style/AppTheme">
android:theme="@style/AppTheme"
tools:replace="android:supportsRtl">

<activity
android:name=".MainActivity"
Expand Down
2 changes: 1 addition & 1 deletion contributingGuides/KSv2.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ To help surface the issues and PRs that need the most `#urgency`, we've built a

<img src="https://user-images.githubusercontent.com/6829422/213875977-8ff4cf19-7690-4203-ae13-a8da259be7d0.png" />

Once you have the extension installed, you can access it by going to https://github.com/Expensify/Expensify#k2 or clicking on the K2 tab at the top of a repo (between pull requests and GH actions). You'll have to create a Personal Access Token in GitHub ([here](https://github.com/settings/tokens)) and enter that in the K2 dashboard the first time you open it, so that your K2 extension can automatically pull data about your GitHub account.
Once you have the extension installed, you can access it by going to https://github.com/Expensify/App#k2 or clicking on the K2 tab at the top of a repo (between pull requests and GH actions). You'll have to create a Personal Access Token in GitHub ([here](https://github.com/settings/tokens)) and enter that in the K2 dashboard the first time you open it, so that your K2 extension can automatically pull data about your GitHub account.

### Pull Requests for review

Expand Down
10 changes: 3 additions & 7 deletions contributingGuides/TestRail_Navigation_C+.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,10 @@ As a C+ member, you will have view-only access to Expensify's TestRail account i
- Once determined, the C+ will post a comment in the original GH issue, mentioning which scenario the bug belongs under, why they think it belongs there, and if the new / updated test steps can fall under a current test case or if a new test case needs to be created. Please provide your reasoning for your decision in the comment and tag the BZ member to gut-check.
- If the BZ member agrees with the C+'s recommendation, we can move forward. If not, a discussion will be held on where they think it might fit better and why.
- There's a chance we will agree to not update/create a test case for the bug in question, depending on the bug.
- Once we know where the test will live, the C+ will tag the Contributor to propose test steps.
- If we're updating a current test case, the C+ will post what the current steps are in the GH for the Contributor to propose their test steps in relation to it.
- If we're creating a new test case, the C+ will note it for the Contributor.
- Once the Contributor has provided proposed test steps, the C+ will review to ensure:
- Once we know where the test will live, the C+ will then propose the appropriate test steps to either add to an existing case or for a new test case.
- Once the C+ has provided proposed test steps, the BZ will review to ensure:
- The language style matches the language style in TestRail (e.g. action items use the term `Verify`)
- The steps are clear, logical, concise, and void of any assumed knowledge
- (For updating a current test case) the steps are logically placed in the test case
- If changes are needed, the C+ and Contributor will discuss what changes should be done in order to make them appropriate
- After confirming the above, the C+ will tag the BZ member and comment that the steps are ready to be reviewed
- If changes are needed, the BZ member and C+ will discuss what changes should be done in order to make them appropriate
- The BZ member will then create a GH for Applause to update the TestRail steps, link it in the original bug GH, and move forward with payment.

Loading