Skip to content

Commit 64db922

Browse files
committed
Merge branch 'main' into paulnjs-fix/88315-part-2
2 parents 279eef3 + 3865fa0 commit 64db922

532 files changed

Lines changed: 15167 additions & 4653 deletions

File tree

Some content is hidden

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

.github/ISSUE_TEMPLATE/Accessibility.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ about: A template to follow when creating a new issue for accessibility failures
44
labels: ["Accessibility", "Weekly"]
55
---
66

7-
If you haven’t already, check out our [contributing guidelines](https://github.com/Expensify/ReactNativeChat/blob/main/contributingGuides/CONTRIBUTING.md) for onboarding and email contributors@expensify.com to request to join our Slack channel!
7+
If you haven’t already, check out our [contributing guidelines](https://github.com/Expensify/ReactNativeChat/blob/main/contributingGuides/CONTRIBUTING.md) for onboarding. To join our Slack channel, fill out [this form](https://forms.gle/Q7hnhUJPnQCK7Fe56).
88
___
99

1010
## Action Performed:

.github/ISSUE_TEMPLATE/Exploratory.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ about: A template to follow when creating a new issue in this repository that wa
44
labels: Monthly, Not a priority
55
---
66

7-
If you haven’t already, check out our [contributing guidelines](https://github.com/Expensify/ReactNativeChat/blob/main/contributingGuides/CONTRIBUTING.md) for onboarding and email contributors@expensify.com to request to join our Slack channel!
7+
If you haven’t already, check out our [contributing guidelines](https://github.com/Expensify/ReactNativeChat/blob/main/contributingGuides/CONTRIBUTING.md) for onboarding. To join our Slack channel, fill out [this form](https://forms.gle/Q7hnhUJPnQCK7Fe56).
88
___
99
**For all Exploratory issues, start the title of the issue with `[Exploratory]`** (and, do **not** add the `External` label.
1010

.github/ISSUE_TEMPLATE/Performance.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ title: "[Performance] "
55
labels: Engineering, Daily
66
---
77

8-
If you haven’t already, check out our [contributing guidelines](https://github.com/Expensify/ReactNativeChat/blob/main/contributingGuides/CONTRIBUTING.md) for onboarding and email contributors@expensify.com to request to join our Slack channel!
8+
If you haven’t already, check out our [contributing guidelines](https://github.com/Expensify/ReactNativeChat/blob/main/contributingGuides/CONTRIBUTING.md) for onboarding. To join our Slack channel, fill out [this form](https://forms.gle/Q7hnhUJPnQCK7Fe56).
99
___
1010

1111
## What performance issue do we need to solve?

.github/ISSUE_TEMPLATE/Standard.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ about: A standard template to follow when creating a new issue in this repositor
44
labels: Bug, Daily
55
---
66

7-
If you haven’t already, check out our [contributing guidelines](https://github.com/Expensify/ReactNativeChat/blob/main/contributingGuides/CONTRIBUTING.md) for onboarding and email contributors@expensify.com to request to join our Slack channel!
7+
If you haven’t already, check out our [contributing guidelines](https://github.com/Expensify/ReactNativeChat/blob/main/contributingGuides/CONTRIBUTING.md) for onboarding. To join our Slack channel, fill out [this form](https://forms.gle/Q7hnhUJPnQCK7Fe56).
88
___
99

1010
**Version Number:**

.github/actions/composite/announceFailedWorkflowInSlack/action.yml

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13,20 +13,17 @@ inputs:
1313
runs:
1414
using: composite
1515
steps:
16-
- uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e
16+
- uses: slackapi/slack-github-action@45a88b9581bfab2566dc881e2cd66d334e621e2c # v3.0.3
1717
name: Job failed Slack notification
1818
with:
19-
status: custom
20-
fields: workflow, repo
21-
custom_payload: |
19+
webhook: ${{ inputs.SLACK_WEBHOOK }}
20+
webhook-type: incoming-webhook
21+
payload: |
2222
{
23-
channel: '${{ inputs.CHANNEL }}',
24-
attachments: [{
25-
color: "#DB4545",
26-
pretext: `<!subteam^S4TJJ3PSL>`,
27-
text: `💥 ${process.env.AS_REPO} failed on <https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}|${{ github.workflow }}> workflow 💥`,
23+
"channel": "${{ inputs.CHANNEL }}",
24+
"attachments": [{
25+
"color": "#DB4545",
26+
"pretext": "<!subteam^S4TJJ3PSL>",
27+
"text": "💥 ${{ github.repository }} failed on <https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}|${{ github.workflow }}> workflow 💥"
2828
}]
2929
}
30-
env:
31-
GITHUB_TOKEN: ${{ github.token }}
32-
SLACK_WEBHOOK_URL: ${{ inputs.SLACK_WEBHOOK }}

.github/scripts/createDocsRoutes.ts

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,15 +45,22 @@ const platformNames = {
4545
travel: 'travel',
4646
} as const;
4747

48+
// Words that should be fully uppercased in auto-generated titles (e.g. "ai" -> "AI")
49+
const ACRONYMS = new Set(['ai']);
50+
4851
/**
4952
* @param str - The string to convert to title case
5053
*/
5154
function toTitleCase(str: string): string {
5255
return str
5356
.split(' ')
5457
.map((word, index) => {
55-
if (index !== 0 && (word.toLowerCase() === 'a' || word.toLowerCase() === 'the' || word.toLowerCase() === 'and')) {
56-
return word.toLowerCase();
58+
const lowerWord = word.toLowerCase();
59+
if (ACRONYMS.has(lowerWord)) {
60+
return word.toUpperCase();
61+
}
62+
if (index !== 0 && (lowerWord === 'a' || lowerWord === 'the' || lowerWord === 'and')) {
63+
return lowerWord;
5764
}
5865
return word.charAt(0).toUpperCase() + word.substring(1);
5966
})
@@ -128,6 +135,10 @@ function buildSection(platformName: string, hub: string, sectionPath: string, pa
128135
}
129136
}
130137

138+
// Articles are displayed in the order stored here, so sort by the optional `order` front matter.
139+
// The sort is stable, so articles without an `order` keep their relative position and fall after ordered ones.
140+
articles.sort((a, b) => (a.order ?? Number.POSITIVE_INFINITY) - (b.order ?? Number.POSITIVE_INFINITY));
141+
131142
const section: Section = {
132143
href,
133144
title: toTitleCase(sectionName.replaceAll('-', ' ')),

.github/workflows/androidBump.yml

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ jobs:
1616
uses: ./.github/actions/composite/setupNode
1717

1818
- name: Setup Ruby
19-
# v1.229.0
20-
uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252
19+
# v1.310.0
20+
uses: ruby/setup-ruby@afeafc3d1ab54a631816aba4c914a0081c12ff2f
2121
with:
2222
bundler-cache: true
2323

@@ -52,19 +52,16 @@ jobs:
5252
5353
- name: Warn deployers if Android rollout percentage could not be updated
5454
if: ${{ failure() }}
55-
# v3
56-
uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e
55+
uses: slackapi/slack-github-action@45a88b9581bfab2566dc881e2cd66d334e621e2c # v3.0.3
5756
with:
58-
status: custom
59-
custom_payload: |
57+
webhook: ${{ secrets.SLACK_WEBHOOK }}
58+
webhook-type: incoming-webhook
59+
payload: |
6060
{
61-
channel: '#deployer',
62-
attachments: [{
63-
color: "#DB4545",
64-
pretext: `<!subteam^S4TJJ3PSL>`,
65-
text: `💥 Android rollout percentage could not be updated. <https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}|View Run> 💥`,
61+
"channel": "#deployer",
62+
"attachments": [{
63+
"color": "#DB4545",
64+
"pretext": "<!subteam^S4TJJ3PSL>",
65+
"text": "💥 Android rollout percentage could not be updated. <https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}|View Run> 💥"
6666
}]
6767
}
68-
env:
69-
GITHUB_TOKEN: ${{ github.token }}
70-
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK }}

.github/workflows/buildAndroid.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -116,8 +116,8 @@ jobs:
116116
uses: ./.github/actions/composite/getJavaVersion
117117

118118
- name: Setup Java
119-
# v4
120-
uses: actions/setup-java@3a4f6e1af504cf6a31855fa899c6aa5355ba6c12
119+
# v5
120+
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654
121121
with:
122122
distribution: oracle
123123
java-version: ${{ steps.get-java-version.outputs.version }}
@@ -142,8 +142,8 @@ jobs:
142142
143143
- name: Load Android upload keystore credentials from 1Password
144144
id: load-credentials
145-
# v3
146-
uses: 1password/load-secrets-action@8d0d610af187e78a2772c2d18d627f4c52d3fbfb
145+
# v4.0.0
146+
uses: 1password/load-secrets-action@92467eb28f72e8255933372f1e0707c567ce2259
147147
with:
148148
export-env: false
149149
env:

.github/workflows/buildIOS.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,8 +104,8 @@ jobs:
104104
run: ./.github/scripts/inject-ci-data.sh PULL_REQUEST_NUMBER="$PULL_REQUEST_NUMBER"
105105

106106
- name: Setup Ruby
107-
# v1.229.0
108-
uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252
107+
# v1.310.0
108+
uses: ruby/setup-ruby@afeafc3d1ab54a631816aba4c914a0081c12ff2f
109109
with:
110110
bundler-cache: true
111111

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
name: Build victory-chart-renderer
2+
3+
on:
4+
workflow_call:
5+
inputs:
6+
ref:
7+
description: Git ref to checkout and build
8+
type: string
9+
required: true
10+
release-tag:
11+
description: GitHub Release tag for this deploy (used in failure notifications)
12+
type: string
13+
required: true
14+
15+
outputs:
16+
BINARY_FILENAME:
17+
description: Filename of the compiled Linux x64 binary
18+
value: ${{ jobs.build.outputs.BINARY_FILENAME }}
19+
20+
jobs:
21+
build:
22+
name: Build victory-chart-renderer (Linux x64)
23+
runs-on: blacksmith-8vcpu-ubuntu-2404
24+
outputs:
25+
BINARY_FILENAME: victory-chart-renderer-linux-x64
26+
steps:
27+
- name: Checkout
28+
uses: useblacksmith/checkout@c9796daa2a4bdebdab5bd16be2c09a70cd4e1121 # v1
29+
with:
30+
ref: ${{ inputs.ref }}
31+
32+
- name: Setup Node
33+
uses: ./.github/actions/composite/setupNode
34+
35+
- name: Setup Bun
36+
# v2.2.0
37+
uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6
38+
with:
39+
bun-version-file: .bun-version
40+
41+
- name: Build victory-chart-renderer Linux x64 binary
42+
run: npm run server:vcr:build:linux
43+
44+
- name: Verify compiled binary is executable
45+
run: test -x server/victory-chart-renderer/dist/victory-chart-renderer-linux-x64
46+
47+
- name: Upload victory-chart-renderer Linux x64 artifact
48+
# v6
49+
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f
50+
with:
51+
name: victory-chart-renderer-linux-x64-artifact
52+
path: server/victory-chart-renderer/dist/victory-chart-renderer-linux-x64
53+
54+
- name: Log victory-chart-renderer build failure
55+
if: failure() || cancelled()
56+
run: |
57+
echo "::error::victory-chart-renderer Linux x64 build did not succeed for release ${{ inputs.release-tag }}. GitHub Release will not include victory-chart-renderer-linux-x64."
58+
59+
- name: Announce victory-chart-renderer build failure in Slack
60+
if: failure() || cancelled()
61+
# v3
62+
uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e
63+
with:
64+
status: custom
65+
custom_payload: |
66+
{
67+
channel: '#announce',
68+
attachments: [{
69+
color: 'warning',
70+
text: `⚠️ ${process.env.AS_REPO} <https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}|victory-chart-renderer build> failed for deploy release <https://github.com/Expensify/App/releases/tag/${{ inputs.release-tag }}|${{ inputs.release-tag }}>. victory-chart-renderer-linux-x64 will not be attached.`,
71+
}]
72+
}
73+
env:
74+
GITHUB_TOKEN: ${{ github.token }}
75+
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK }}

0 commit comments

Comments
 (0)