Skip to content

Commit bbba5e5

Browse files
committed
Merge branch 'main' into tgolen-fix-signin-keyboard-avoiding
2 parents 5c2d8d2 + df9af76 commit bbba5e5

File tree

132 files changed

+1114
-1056
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

132 files changed

+1114
-1056
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
name: 'Configure AWS Credentials'
2+
description: 'Configures AWS credentials for the workflow'
3+
4+
inputs:
5+
AWS_ACCESS_KEY_ID:
6+
description: 'Access Key to AWS'
7+
required: true
8+
AWS_SECRET_ACCESS_KEY:
9+
description: 'Secret Access Key to AWS'
10+
required: true
11+
12+
runs:
13+
using: composite
14+
steps:
15+
- name: Configure AWS Credentials
16+
# Version: 1.5.5
17+
uses: aws-actions/configure-aws-credentials@e97d7fbc8e0e5af69631c13daa0f4b5a8d88165b
18+
with:
19+
aws-access-key-id: ${{ inputs.AWS_ACCESS_KEY_ID }}
20+
aws-secret-access-key: ${{ inputs.AWS_SECRET_ACCESS_KEY }}
21+
aws-region: us-east-1

.github/workflows/platformDeploy.yml

+3-5
Original file line numberDiff line numberDiff line change
@@ -245,12 +245,10 @@ jobs:
245245
run: pip3 install cloudflare
246246

247247
- name: Configure AWS Credentials
248-
# Version: 1.5.5
249-
uses: aws-actions/configure-aws-credentials@e97d7fbc8e0e5af69631c13daa0f4b5a8d88165b
248+
uses: Expensify/App/.github/actions/composite/configureAwsCredentials@main
250249
with:
251-
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
252-
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
253-
aws-region: us-east-1
250+
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
251+
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
254252

255253
- name: Build web for production
256254
if: ${{ fromJSON(env.SHOULD_DEPLOY_PRODUCTION) }}

.github/workflows/testBuild.yml

+26-38
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ on:
44
workflow_dispatch:
55
pull_request_target:
66
types: [opened, synchronize]
7+
branches: ['*ci-test/**']
78

89
env:
910
DEVELOPER_DIR: /Applications/Xcode_14.0.1.app/Contents/Developer
@@ -49,6 +50,12 @@ jobs:
4950
env:
5051
LARGE_SECRET_PASSPHRASE: ${{ secrets.LARGE_SECRET_PASSPHRASE }}
5152

53+
- name: Configure AWS Credentials
54+
uses: Expensify/App/.github/actions/composite/configureAwsCredentials@main
55+
with:
56+
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
57+
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
58+
5259
- name: Run Fastlane beta test
5360
id: runFastlaneBetaTest
5461
run: bundle exec fastlane android build_internal
@@ -99,6 +106,12 @@ jobs:
99106
env:
100107
LARGE_SECRET_PASSPHRASE: ${{ secrets.LARGE_SECRET_PASSPHRASE }}
101108

109+
- name: Configure AWS Credentials
110+
uses: Expensify/App/.github/actions/composite/configureAwsCredentials@main
111+
with:
112+
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
113+
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
114+
102115
- name: Run Fastlane
103116
run: bundle exec fastlane ios build_internal
104117
env:
@@ -131,6 +144,12 @@ jobs:
131144
env:
132145
DEVELOPER_ID_SECRET_PASSPHRASE: ${{ secrets.DEVELOPER_ID_SECRET_PASSPHRASE }}
133146

147+
- name: Configure AWS Credentials
148+
uses: Expensify/App/.github/actions/composite/configureAwsCredentials@main
149+
with:
150+
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
151+
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
152+
134153
- name: Build desktop app for testing
135154
run: npm run desktop-build-internal -- --publish always
136155
env:
@@ -140,44 +159,12 @@ jobs:
140159
APPLE_ID_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }}
141160
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
142161
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
143-
144-
# web:
145-
# name: Build and deploy Web
146-
# needs: validateActor
147-
# if: ${{ fromJSON(needs.validateActor.outputs.IS_TEAM_MEMBER) }}
148-
# runs-on: ubuntu-latest
149-
# steps:
150-
# - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8
151-
# with:
152-
# fetch-depth: 0
153-
# ref: ${{ github.event.pull_request.head.sha }}
154-
155-
# - uses: Expensify/App/.github/actions/composite/setupNode@main
156-
157-
# - name: Configure AWS Credentials
158-
# # Version: 1.5.5
159-
# uses: aws-actions/configure-aws-credentials@e97d7fbc8e0e5af69631c13daa0f4b5a8d88165b
160-
# with:
161-
# aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
162-
# aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
163-
# aws-region: us-east-1
164-
165-
# - name: Build web for staging
166-
# run: npm run build-staging
167-
168-
# - name: Build docs
169-
# run: npm run storybook-build
170-
# continue-on-error: true
171-
172-
# - name: Deploy to S3 for internal testing
173-
# run: aws s3 cp --recursive --acl public-read "$GITHUB_WORKSPACE"/dist s3://ad-hoc-expensify-cash/web/"$PULL_REQUEST_NUMBER"
174-
# env:
175-
# PULL_REQUEST_NUMBER: ${{ github.event.number }}
162+
PULL_REQUEST_NUMBER: ${{ github.event.number }}
176163

177164
postGithubComment:
178165
runs-on: ubuntu-latest
179166
name: Post a GitHub comment with app download links for testing
180-
needs: [android, ios]
167+
needs: [android, ios, desktop]
181168
steps:
182169
- name: Checkout
183170
uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8
@@ -203,9 +190,10 @@ jobs:
203190
- name: Publish links to apps for download
204191
run: |
205192
gh pr comment --body \
206-
"Use the links below to test this build in android and iOS. Happy testing!
207-
| android :robot: | iOS :apple: |
208-
| ------------- | ------------- |
209-
| ${{fromJson(steps.set_var.outputs.android_paths).html_path}} | ${{fromJson(steps.set_var.outputs.ios_paths).html_path}} |"
193+
":test_tube::test_tube: Use the links below to test this build in android and iOS. Happy testing! :test_tube::test_tube:
194+
| android :robot: | iOS :apple: | desktop :computer: |
195+
| ------------- | ------------- | ------------- |
196+
| ${{fromJson(steps.set_var.outputs.android_paths).html_path}} | ${{fromJson(steps.set_var.outputs.ios_paths).html_path}} | https://ad-hoc-expensify-cash.us-east-1.amazonaws.com/desktop/${{github.event.number}}/NewExpensify.dmg
197+
| ![Android](https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=${{fromJson(steps.set_var.outputs.android_paths).html_path}}) | ![iOS](https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=${{fromJson(steps.set_var.outputs.ios_paths).html_path}}) | ![desktop](https://ad-hoc-expensify-cash.us-east-1.amazonaws.com/desktop/${{github.event.number}}/NewExpensify.dmg)"
210198
env:
211199
GITHUB_TOKEN: ${{ secrets.OS_BOTIFY_TOKEN }}

.storybook/theme.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ export default create({
99
brandImage: 'logomark.svg',
1010
colorPrimary: colors.dark,
1111
colorSecondary: colors.orange,
12-
fontBase: 'GTAmericaExp-Regular',
12+
fontBase: 'ExpensifyNeue-Regular',
1313
fontCode: 'monospace',
1414
textInverseColor: colors.black,
1515
});
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

assets/css/fonts.css

+14-63
Original file line numberDiff line numberDiff line change
@@ -1,92 +1,43 @@
11
@font-face {
2-
font-family: GTAmericaExp-Regular;
3-
font-weight: 100;
4-
font-style: normal;
5-
src: url("https://www.expensify.com/font/GT-America-Standard-Light.eot") format("embedded-opentype"), url("https://www.expensify.com/font/GT-America-Standard-Light.woff") format("woff"), url("https://www.expensify.com/font/GT-America-Standard-Light.woff2") format("woff2");
6-
}
7-
8-
@font-face {
9-
font-family: GTAmericaExp-Regular;
10-
font-weight: 200;
11-
font-style: normal;
12-
src: url("https://www.expensify.com/font/GT-America-Standard-Thin.eot") format("embedded-opentype"), url("https://www.expensify.com/font/GT-America-Standard-Thin.woff") format("woff"), url("https://www.expensify.com/font/GT-America-Standard-Thin.woff2") format("woff2");
13-
}
14-
15-
@font-face {
16-
font-family: GTAmericaExp-Regular;
2+
font-family: ExpensifyNeue-Regular;
173
font-weight: 400;
184
font-style: normal;
19-
src: url("https://www.expensify.com/font/GT-America-Standard-Regular.eot") format("embedded-opentype"), url("https://www.expensify.com/font/GT-America-Standard-Regular.woff") format("woff"), url("https://www.expensify.com/font/GT-America-Standard-Regular.woff2") format("woff2");
20-
}
21-
22-
@font-face {
23-
font-family: GTAmericaExp-Regular;
24-
font-weight: 500;
25-
font-style: normal;
26-
src: url("https://www.expensify.com/font/GT-America-Standard-Medium.eot") format("embedded-opentype"), url("https://www.expensify.com/font/GT-America-Standard-Medium.woff") format("woff"), url("https://www.expensify.com/font/GT-America-Standard-Medium.woff2") format("woff2");
27-
}
28-
29-
@font-face {
30-
font-family: GTAmericaExp-Regular;
31-
font-weight: 600;
32-
font-style: normal;
33-
src: url("https://www.expensify.com/font/GT-America-Standard-Medium.eot") format("embedded-opentype"), url("https://www.expensify.com/font/GT-America-Standard-Medium.woff") format("woff"), url("https://www.expensify.com/font/GT-America-Standard-Medium.woff2") format("woff2");
5+
src: url('/fonts/ExpensifyNeue-Regular.woff2') format('woff2'), url('/fonts/ExpensifyNeue-Regular.woff') format('woff');
346
}
357

368
@font-face {
37-
font-family: GTAmericaExp-Regular;
9+
font-family: ExpensifyNeue-Bold;
3810
font-weight: 700;
3911
font-style: normal;
40-
src: url("https://www.expensify.com/font/GT-America-Standard-Bold.eot") format("embedded-opentype"), url("https://www.expensify.com/font/GT-America-Standard-Bold.woff") format("woff"), url("https://www.expensify.com/font/GT-America-Standard-Bold.woff2") format("woff2");
12+
src: url('/fonts/ExpensifyNeue-Bold.woff2') format('woff2'), url('/fonts/ExpensifyNeue-Bold.woff') format('woff');
4113
}
4214

4315
@font-face {
44-
font-family: GTAmericaExp-RgIt;
16+
font-family: ExpensifyNeue-Italic;
4517
font-weight: 400;
46-
font-style: italic;
47-
src: url("https://www.expensify.com/font/GT-America-Standard-Regular-Italic.eot") format("embedded-opentype"), url("https://www.expensify.com/font/GT-America-Standard-Regular-Italic.woff") format("woff"), url("https://www.expensify.com/font/GT-America-Standard-Regular-Italic.woff2") format("woff2");
48-
}
49-
50-
@font-face {
51-
font-family: GTAmericaExp-MdIt;
52-
font-weight: 500;
53-
font-style: italic;
54-
src: url("https://www.expensify.com/font/GT-America-Standard-Medium-Italic.eot") format("embedded-opentype"), url("https://www.expensify.com/font/GT-America-Standard-Medium-Italic.woff") format("woff"), url("https://www.expensify.com/font/GT-America-Standard-Medium-Italic.woff2") format("woff2");
18+
font-style: normal;
19+
src: url('/fonts/ExpensifyNeue-Italic.woff2') format('woff2'), url('/fonts/ExpensifyNeue-Italic.woff') format('woff');
5520
}
5621

5722
@font-face {
58-
font-family: GTAmericaExp-BdIt;
23+
font-family: ExpensifyNeue-BoldItalic;
5924
font-weight: 700;
60-
font-style: italic;
61-
src: url("https://www.expensify.com/font/GT-America-Standard-Bold-Italic.eot") format("embedded-opentype"), url("https://www.expensify.com/font/GT-America-Standard-Bold-Italic.woff") format("woff"), url("https://www.expensify.com/font/GT-America-Standard-Bold-Italic.woff2") format("woff2");
62-
}
63-
64-
@font-face {
65-
font-family: GTAmericaExpMono-Rg;
66-
font-weight: 400;
6725
font-style: normal;
68-
src: url('https://www.expensify.com/font/GT-America-Exp-Mono-Regular.eot') format('embedded-opentype'), url('https://www.expensify.com/font/GT-America-Exp-Mono-Regular.woff') format('woff'), url('https://www.expensify.com/font/GT-America-Exp-Mono-Regular.woff2') format('woff2');
26+
src: url('/fonts/ExpensifyNeue-BoldItalic.woff2') format('woff2'), url('/fonts/ExpensifyNeue-BoldItalic.woff') format('woff');
6927
}
7028

7129
@font-face {
72-
font-family: GTAmericaExpMono-RgIt;
30+
font-family: ExpensifyMono-Regular;
7331
font-weight: 400;
74-
font-style: italic;
75-
src: url('https://www.expensify.com/font/GT-America-Exp-Mono-Regular-Italic.eot') format('embedded-opentype'), url('https://www.expensify.com/font/GT-America-Exp-Mono-Regular-Italic.woff') format('woff'), url('https://www.expensify.com/font/GT-America-Exp-Mono-Regular-Italic.woff2') format('woff2');
76-
}
77-
78-
@font-face {
79-
font-family: GTAmericaExpMono-Bd;
80-
font-weight: 700;
8132
font-style: normal;
82-
src: url('https://www.expensify.com/font/GT-America-Exp-Mono-Bold.eot') format('embedded-opentype'), url('https://www.expensify.com/font/GT-America-Exp-Mono-Bold.woff') format('woff'), url('https://www.expensify.com/font/GT-America-Exp-Mono-Bold.woff2') format('woff2');
33+
src: url('/fonts/ExpensifyMono-Regular.woff2') format('woff2'), url('/fonts/ExpensifyMono-Regular.woff') format('woff');
8334
}
8435

8536
@font-face {
86-
font-family: GTAmericaExpMono-BdIt;
37+
font-family: ExpensifyMono-Bold;
8738
font-weight: 700;
88-
font-style: italic;
89-
src: url('https://www.expensify.com/font/GT-America-Exp-Mono-Bold-Italic.eot') format('embedded-opentype'), url('https://www.expensify.com/font/GT-America-Exp-Mono-Bold-Italic.woff') format('woff'), url('https://www.expensify.com/font/GT-America-Exp-Mono-Bold-Italic.woff2') format('woff2');
39+
font-style: normal;
40+
src: url('/fonts/ExpensifyMono-Bold.woff2') format('woff2'), url('/fonts/ExpensifyMono-Bold.woff') format('woff');
9041
}
9142

9243
* {

assets/fonts/ExpensifyMono-Bold.woff

32.4 KB
Binary file not shown.

assets/fonts/ExpensifyMono-Bold.woff2

30.1 KB
Binary file not shown.
31.5 KB
Binary file not shown.
29.5 KB
Binary file not shown.

assets/fonts/ExpensifyNeue-Bold.woff

39 KB
Binary file not shown.

assets/fonts/ExpensifyNeue-Bold.woff2

35.9 KB
Binary file not shown.
39.9 KB
Binary file not shown.
36.7 KB
Binary file not shown.
37.8 KB
Binary file not shown.
36 KB
Binary file not shown.
37.5 KB
Binary file not shown.
34.7 KB
Binary file not shown.

assets/fonts/GTAmericaExp-BdIt.otf

-93.1 KB
Binary file not shown.

assets/fonts/GTAmericaExp-Bold.otf

-86.7 KB
Binary file not shown.

assets/fonts/GTAmericaExp-Light.otf

-82.7 KB
Binary file not shown.

assets/fonts/GTAmericaExp-MdIt.otf

-92.7 KB
Binary file not shown.

assets/fonts/GTAmericaExp-Medium.otf

-86.2 KB
Binary file not shown.

assets/fonts/GTAmericaExp-Regular.otf

-80.5 KB
Binary file not shown.

assets/fonts/GTAmericaExp-RgIt.otf

-86.2 KB
Binary file not shown.

assets/fonts/GTAmericaExp-Thin.otf

-83.4 KB
Binary file not shown.

assets/fonts/GTAmericaExpMono-Bd.otf

-62.2 KB
Binary file not shown.
-64.9 KB
Binary file not shown.

assets/fonts/GTAmericaExpMono-Rg.otf

-59 KB
Binary file not shown.
-62.1 KB
Binary file not shown.

config/electronBuilder.config.js

+12-10
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,28 @@
11
const {version} = require('../package.json');
22

33
const isPublishing = process.argv.includes('--publish');
4+
const pullRequestNumber = process.env.PULL_REQUEST_NUMBER;
45

56
const s3Bucket = {
67
production: 'expensify-cash',
78
staging: 'staging-expensify-cash',
89
internal: 'ad-hoc-expensify-cash',
910
};
1011

12+
const s3Path = {
13+
production: '/',
14+
staging: '/',
15+
internal: process.env.PULL_REQUEST_NUMBER
16+
? `/desktop/${pullRequestNumber}/`
17+
: '/',
18+
};
19+
1120
const macIcon = {
1221
production: './desktop/icon.png',
1322
staging: './desktop/icon-stg.png',
1423
internal: './desktop/icon-stg.png',
1524
};
1625

17-
const isCorrectElectronEnv = ['production', 'staging', 'internal'].includes(
18-
process.env.ELECTRON_ENV,
19-
);
20-
2126
/**
2227
* The configuration for the production and staging Electron builds.
2328
* It can be used to create local builds of the same, by omitting the `--publish` flag
@@ -30,9 +35,7 @@ module.exports = {
3035
},
3136
mac: {
3237
category: 'public.app-category.finance',
33-
icon: isCorrectElectronEnv
34-
? macIcon[process.env.ELECTRON_ENV]
35-
: './desktop/icon-stg.png',
38+
icon: macIcon[process.env.ELECTRON_ENV],
3639
hardenedRuntime: true,
3740
entitlements: 'desktop/entitlements.mac.plist',
3841
entitlementsInherit: 'desktop/entitlements.mac.plist',
@@ -46,10 +49,9 @@ module.exports = {
4649
publish: [
4750
{
4851
provider: 's3',
49-
bucket: isCorrectElectronEnv
50-
? s3Bucket[process.env.ELECTRON_ENV]
51-
: 'ad-hoc-expensify-cash',
52+
bucket: s3Bucket[process.env.ELECTRON_ENV],
5253
channel: 'latest',
54+
path: s3Path[process.env.ELECTRON_ENV],
5355
},
5456
],
5557
afterSign: isPublishing ? './desktop/notarize.js' : undefined,

0 commit comments

Comments
 (0)