Skip to content

Commit db73661

Browse files
authored
Merge branch 'main' into chore/remove-bitrise
2 parents 15e8a91 + b2e95cf commit db73661

37 files changed

Lines changed: 1325 additions & 44 deletions

.github/actions/setup-e2e-env/action.yml

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,17 @@ inputs:
9191
description: 'Runner provider forwarded from the caller workflow chain. When set to "namespace", toolchain-install steps short-circuit if the pinned version is already on the image. Default "current" preserves byte-identical behaviour on existing GitHub-hosted / Cirrus runners.'
9292
required: false
9393
default: 'current'
94+
js-retry-timeout-minutes:
95+
description: >-
96+
Per-attempt timeout (minutes) for Corepack and yarn install retry steps.
97+
Namespace E2E matrix jobs often need more headroom (INFRA-3596).
98+
required: false
99+
default: '15'
100+
pod-install-timeout-minutes:
101+
description: >-
102+
Per-attempt timeout (minutes) for the CocoaPods install retry step (iOS only).
103+
required: false
104+
default: '15'
94105

95106
runs:
96107
using: 'composite'
@@ -290,7 +301,7 @@ runs:
290301
id: corepack
291302
uses: nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 #v3.0.2
292303
with:
293-
timeout_minutes: 15
304+
timeout_minutes: ${{ fromJSON(inputs.js-retry-timeout-minutes) }}
294305
max_attempts: 3
295306
retry_wait_seconds: 30
296307
command: ${{ steps.get-corepack-command.outputs.COREPACK_COMMAND }}
@@ -311,7 +322,7 @@ runs:
311322
id: yarn-install
312323
uses: nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 #v3.0.2
313324
with:
314-
timeout_minutes: 15
325+
timeout_minutes: ${{ fromJSON(inputs.js-retry-timeout-minutes) }}
315326
max_attempts: 3
316327
retry_wait_seconds: 30
317328
on_retry_command: echo "⚠️ yarn install failed — likely a transient network issue on the self-hosted runner. Retrying..."
@@ -415,7 +426,7 @@ runs:
415426
if: ${{ inputs.platform == 'ios'}}
416427
uses: nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 #v3.0.2
417428
with:
418-
timeout_minutes: 15
429+
timeout_minutes: ${{ fromJSON(inputs.pod-install-timeout-minutes) }}
419430
max_attempts: 3
420431
retry_wait_seconds: 60
421432
on_retry_command: |

.github/scripts/known-feature-flag-constants.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ const FILE_SOURCES: Array<{ key: string; file: string; exportName: string }> = [
2020
{ key: 'FULL_PAGE_ACCOUNT_LIST_FLAG_NAME', file: sel('fullPageAccountList'), exportName: 'FULL_PAGE_ACCOUNT_LIST_FLAG_NAME' },
2121
{ key: 'IMPORT_SRP_WORD_SUGGESTION_FLAG_NAME', file: sel('importSrpWordSuggestion'), exportName: 'IMPORT_SRP_WORD_SUGGESTION_FLAG_NAME' },
2222
{ key: 'ASSETS_UNIFY_STATE_FLAG', file: sel('assetsUnifyState'), exportName: 'ASSETS_UNIFY_STATE_FLAG' },
23+
{ key: 'TOKEN_DETAILS_OHLCV_WS_INTEGRATION_FLAG_KEY', file: sel('tokenDetailsOhlcvWsIntegration'), exportName: 'TOKEN_DETAILS_OHLCV_WS_INTEGRATION_FLAG_KEY' },
2324
];
2425

2526
function resolveConstantFromFile(filePath: string, constantName: string): string | undefined {

.github/workflows/build-android-e2e.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,12 @@ jobs:
5151
artifact_name: ${{ steps.determine-target-paths.outputs.artifact_name }}
5252

5353
steps:
54+
- name: Checkout repo (Namespace)
55+
uses: namespacelabs/nscloud-checkout-action@938f5d2d403d6224d9a0c0dc559b1dae09c2ede4 # v8.1.1
56+
if: ${{ inputs.runner_provider == 'namespace' }}
5457
- name: Checkout repo
5558
uses: actions/checkout@v6
59+
if: ${{ inputs.runner_provider != 'namespace' }}
5660

5761
- name: Check force-builds override
5862
id: force-builds

.github/workflows/build-ios-e2e.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,12 @@ jobs:
7575

7676
steps:
7777
# Get the source code from the repository
78+
- name: Checkout repo (Namespace)
79+
uses: namespacelabs/nscloud-checkout-action@938f5d2d403d6224d9a0c0dc559b1dae09c2ede4 # v8.1.1
80+
if: ${{ inputs.runner_provider == 'namespace' }}
7881
- name: Checkout repo
7982
uses: actions/checkout@v6
83+
if: ${{ inputs.runner_provider != 'namespace' }}
8084

8185
- name: Configure Namespace cache
8286
if: ${{ inputs.runner_provider == 'namespace' }}

.github/workflows/build.yml

Lines changed: 29 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,13 @@ jobs:
128128
script_name: ${{ steps.config.outputs.script_name }}
129129
checkout_ref_for_setup: ${{ !inputs.skip_version_bump && needs.update-build-version.outputs.commit-hash || (inputs.source_branch || github.ref_name) }}
130130
steps:
131+
- uses: namespacelabs/nscloud-checkout-action@938f5d2d403d6224d9a0c0dc559b1dae09c2ede4 # v8.1.1
132+
if: ${{ inputs.runner_provider == 'namespace' }}
133+
with:
134+
fetch-depth: 1
135+
ref: ${{ !inputs.skip_version_bump && needs.update-build-version.outputs.commit-hash || (inputs.source_branch || github.ref_name) }}
131136
- uses: actions/checkout@v4
137+
if: ${{ inputs.runner_provider != 'namespace' }}
132138
with:
133139
fetch-depth: 1
134140
ref: ${{ !inputs.skip_version_bump && needs.update-build-version.outputs.commit-hash || (inputs.source_branch || github.ref_name) }}
@@ -204,20 +210,34 @@ jobs:
204210
exit 1
205211
fi
206212
echo "Building at version-bump commit: $COMMIT_HASH"
213+
- uses: namespacelabs/nscloud-checkout-action@938f5d2d403d6224d9a0c0dc559b1dae09c2ede4 # v8.1.1
214+
if: ${{ inputs.runner_provider == 'namespace' && !inputs.skip_version_bump }}
215+
with:
216+
ref: ${{ needs.update-build-version.outputs.commit-hash }}
217+
submodules: recursive
207218
- uses: actions/checkout@v4
208-
if: ${{ !inputs.skip_version_bump }}
219+
if: ${{ inputs.runner_provider != 'namespace' && !inputs.skip_version_bump }}
209220
with:
210221
ref: ${{ needs.update-build-version.outputs.commit-hash }}
211222
submodules: recursive
212223

224+
- uses: namespacelabs/nscloud-checkout-action@938f5d2d403d6224d9a0c0dc559b1dae09c2ede4 # v8.1.1
225+
if: ${{ inputs.runner_provider == 'namespace' && inputs.skip_version_bump && inputs.source_branch != '' }}
226+
with:
227+
ref: ${{ inputs.source_branch }}
228+
submodules: recursive
213229
- uses: actions/checkout@v4
214-
if: ${{ inputs.skip_version_bump && inputs.source_branch != '' }}
230+
if: ${{ inputs.runner_provider != 'namespace' && inputs.skip_version_bump && inputs.source_branch != '' }}
215231
with:
216232
ref: ${{ inputs.source_branch }}
217233
submodules: recursive
218234

235+
- uses: namespacelabs/nscloud-checkout-action@938f5d2d403d6224d9a0c0dc559b1dae09c2ede4 # v8.1.1
236+
if: ${{ inputs.runner_provider == 'namespace' && inputs.skip_version_bump && inputs.source_branch == '' }}
237+
with:
238+
submodules: recursive
219239
- uses: actions/checkout@v4
220-
if: ${{ inputs.skip_version_bump && inputs.source_branch == '' }}
240+
if: ${{ inputs.runner_provider != 'namespace' && inputs.skip_version_bump && inputs.source_branch == '' }}
221241
with:
222242
submodules: recursive
223243

@@ -562,7 +582,13 @@ jobs:
562582
android_version_code: ${{ steps.meta.outputs.android_version_code }}
563583
ios_version_code: ${{ steps.meta.outputs.ios_version_code }}
564584
steps:
585+
- uses: namespacelabs/nscloud-checkout-action@938f5d2d403d6224d9a0c0dc559b1dae09c2ede4 # v8.1.1
586+
if: ${{ inputs.runner_provider == 'namespace' }}
587+
with:
588+
fetch-depth: 1
589+
ref: ${{ needs.prepare.outputs.checkout_ref_for_setup }}
565590
- uses: actions/checkout@v4
591+
if: ${{ inputs.runner_provider != 'namespace' }}
566592
with:
567593
fetch-depth: 1
568594
ref: ${{ needs.prepare.outputs.checkout_ref_for_setup }}

.github/workflows/ci.yml

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,10 @@ jobs:
4040
needs:
4141
- get_requirements
4242
steps:
43+
- uses: namespacelabs/nscloud-checkout-action@938f5d2d403d6224d9a0c0dc559b1dae09c2ede4 # v8.1.1
44+
if: ${{ inputs.runner_provider == 'namespace' }}
4345
- uses: actions/checkout@v6
46+
if: ${{ inputs.runner_provider != 'namespace' }}
4447
- uses: actions/setup-node@v6
4548
with:
4649
node-version-file: '.nvmrc'
@@ -133,7 +136,10 @@ jobs:
133136
needs:
134137
- get_requirements
135138
steps:
139+
- uses: namespacelabs/nscloud-checkout-action@938f5d2d403d6224d9a0c0dc559b1dae09c2ede4 # v8.1.1
140+
if: ${{ inputs.runner_provider == 'namespace' }}
136141
- uses: actions/checkout@v6
142+
if: ${{ inputs.runner_provider != 'namespace' }}
137143
- name: Configure Namespace cache
138144
if: ${{ inputs.runner_provider == 'namespace' }}
139145
uses: namespacelabs/nscloud-cache-action@15799a6b54e5765f85b2aac25b3f0df43ed571c0 # v1
@@ -178,7 +184,10 @@ jobs:
178184
needs:
179185
- get_requirements
180186
steps:
187+
- uses: namespacelabs/nscloud-checkout-action@938f5d2d403d6224d9a0c0dc559b1dae09c2ede4 # v8.1.1
188+
if: ${{ inputs.runner_provider == 'namespace' }}
181189
- uses: actions/checkout@v6
190+
if: ${{ inputs.runner_provider != 'namespace' }}
182191
- name: Configure Namespace cache
183192
if: ${{ inputs.runner_provider == 'namespace' }}
184193
uses: namespacelabs/nscloud-cache-action@15799a6b54e5765f85b2aac25b3f0df43ed571c0 # v1
@@ -225,7 +234,12 @@ jobs:
225234
- test:depcheck
226235
- test:tgz-check
227236
steps:
237+
- uses: namespacelabs/nscloud-checkout-action@938f5d2d403d6224d9a0c0dc559b1dae09c2ede4 # v8.1.1
238+
if: ${{ inputs.runner_provider == 'namespace' }}
239+
with:
240+
fetch-depth: 2
228241
- uses: actions/checkout@v6
242+
if: ${{ inputs.runner_provider != 'namespace' }}
229243
with:
230244
fetch-depth: 2
231245
- name: Configure Namespace cache
@@ -271,7 +285,10 @@ jobs:
271285
contents: read
272286
statuses: write
273287
steps:
288+
- uses: namespacelabs/nscloud-checkout-action@938f5d2d403d6224d9a0c0dc559b1dae09c2ede4 # v8.1.1
289+
if: ${{ inputs.runner_provider == 'namespace' }}
274290
- uses: actions/checkout@v6
291+
if: ${{ inputs.runner_provider != 'namespace' }}
275292
- name: Configure Namespace cache
276293
if: ${{ inputs.runner_provider == 'namespace' }}
277294
uses: namespacelabs/nscloud-cache-action@15799a6b54e5765f85b2aac25b3f0df43ed571c0 # v1
@@ -486,7 +503,10 @@ jobs:
486503
needs: [js-bundle-size-check]
487504
if: ${{ github.ref == 'refs/heads/main' }}
488505
steps:
506+
- uses: namespacelabs/nscloud-checkout-action@938f5d2d403d6224d9a0c0dc559b1dae09c2ede4 # v8.1.1
507+
if: ${{ inputs.runner_provider == 'namespace' }}
489508
- uses: actions/checkout@v6
509+
if: ${{ inputs.runner_provider != 'namespace' }}
490510

491511
- name: Download iOS bundle
492512
uses: actions/download-artifact@v4
@@ -525,7 +545,10 @@ jobs:
525545
needs:
526546
- get_requirements
527547
steps:
548+
- uses: namespacelabs/nscloud-checkout-action@938f5d2d403d6224d9a0c0dc559b1dae09c2ede4 # v8.1.1
549+
if: ${{ inputs.runner_provider == 'namespace' }}
528550
- uses: actions/checkout@v6
551+
if: ${{ inputs.runner_provider != 'namespace' }}
529552
- name: Download actionlint
530553
id: download-actionlint
531554
run: bash <(curl https://raw.githubusercontent.com/rhysd/actionlint/62dc61a45fc95efe8c800af7a557ab0b9165d63b/scripts/download-actionlint.bash) 1.7.1
@@ -544,7 +567,10 @@ jobs:
544567
matrix:
545568
shard: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
546569
steps:
570+
- uses: namespacelabs/nscloud-checkout-action@938f5d2d403d6224d9a0c0dc559b1dae09c2ede4 # v8.1.1
571+
if: ${{ inputs.runner_provider == 'namespace' }}
547572
- uses: actions/checkout@v6
573+
if: ${{ inputs.runner_provider != 'namespace' }}
548574
- name: Configure Namespace cache
549575
if: ${{ inputs.runner_provider == 'namespace' }}
550576
uses: namespacelabs/nscloud-cache-action@15799a6b54e5765f85b2aac25b3f0df43ed571c0 # v1
@@ -605,7 +631,10 @@ jobs:
605631
needs: [unit-tests, component-view-tests]
606632
if: ${{ !cancelled() && github.event_name != 'merge_group' }}
607633
steps:
634+
- uses: namespacelabs/nscloud-checkout-action@938f5d2d403d6224d9a0c0dc559b1dae09c2ede4 # v8.1.1
635+
if: ${{ inputs.runner_provider == 'namespace' }}
608636
- uses: actions/checkout@v6
637+
if: ${{ inputs.runner_provider != 'namespace' }}
609638
- name: Configure Namespace cache
610639
if: ${{ inputs.runner_provider == 'namespace' }}
611640
uses: namespacelabs/nscloud-cache-action@15799a6b54e5765f85b2aac25b3f0df43ed571c0 # v1
@@ -736,7 +765,10 @@ jobs:
736765
matrix:
737766
shard: [1, 2]
738767
steps:
768+
- uses: namespacelabs/nscloud-checkout-action@938f5d2d403d6224d9a0c0dc559b1dae09c2ede4 # v8.1.1
769+
if: ${{ inputs.runner_provider == 'namespace' }}
739770
- uses: actions/checkout@v6
771+
if: ${{ inputs.runner_provider != 'namespace' }}
740772
- name: Configure Namespace cache
741773
if: ${{ inputs.runner_provider == 'namespace' }}
742774
uses: namespacelabs/nscloud-cache-action@15799a6b54e5765f85b2aac25b3f0df43ed571c0 # v1
@@ -807,8 +839,17 @@ jobs:
807839
ai_e2e_test_tags: ${{ steps.e2e-selection.outputs.ai_e2e_test_tags }}
808840
ai_confidence: ${{ steps.e2e-selection.outputs.ai_confidence }}
809841
steps:
842+
- uses: namespacelabs/nscloud-checkout-action@938f5d2d403d6224d9a0c0dc559b1dae09c2ede4 # v8.1.1
843+
if: ${{ inputs.runner_provider == 'namespace' }}
844+
with:
845+
sparse-checkout: |
846+
.github/actions/smart-e2e-selection
847+
sparse-checkout-cone-mode: false
848+
fetch-depth: 1
849+
810850
- name: Checkout for action definition
811851
uses: actions/checkout@v6
852+
if: ${{ inputs.runner_provider != 'namespace' }}
812853
with:
813854
sparse-checkout: |
814855
.github/actions/smart-e2e-selection
@@ -944,7 +985,10 @@ jobs:
944985
permissions:
945986
pull-requests: write
946987
steps:
988+
- uses: namespacelabs/nscloud-checkout-action@938f5d2d403d6224d9a0c0dc559b1dae09c2ede4 # v8.1.1
989+
if: ${{ inputs.runner_provider == 'namespace' }}
947990
- uses: actions/checkout@v6
991+
if: ${{ inputs.runner_provider != 'namespace' }}
948992

949993
- name: Download fixture validation results
950994
continue-on-error: true
@@ -969,7 +1013,12 @@ jobs:
9691013
needs: merge-unit-and-component-view-tests
9701014
if: ${{ !cancelled() && github.event_name != 'merge_group' && !github.event.pull_request.head.repo.fork }}
9711015
steps:
1016+
- uses: namespacelabs/nscloud-checkout-action@938f5d2d403d6224d9a0c0dc559b1dae09c2ede4 # v8.1.1
1017+
if: ${{ inputs.runner_provider == 'namespace' }}
1018+
with:
1019+
fetch-depth: 0 # SonarCloud needs a full checkout to perform necessary analysis
9721020
- uses: actions/checkout@v6
1021+
if: ${{ inputs.runner_provider != 'namespace' }}
9731022
with:
9741023
fetch-depth: 0 # SonarCloud needs a full checkout to perform necessary analysis
9751024
- name: Configure Namespace cache
@@ -1023,8 +1072,11 @@ jobs:
10231072
needs: sonar-cloud
10241073
if: ${{ !cancelled() && github.event_name != 'merge_group' && !github.event.pull_request.head.repo.fork }}
10251074
steps:
1075+
- uses: namespacelabs/nscloud-checkout-action@938f5d2d403d6224d9a0c0dc559b1dae09c2ede4 # v8.1.1
1076+
if: ${{ inputs.runner_provider == 'namespace' }}
10261077
- name: Checkout code
10271078
uses: actions/checkout@v6
1079+
if: ${{ inputs.runner_provider != 'namespace' }}
10281080
- name: SonarCloud Quality Gate Status
10291081
id: sonar-status
10301082
env:
@@ -1095,7 +1147,15 @@ jobs:
10951147
- e2e-smoke-tests-android
10961148
- e2e-smoke-tests-ios
10971149
steps:
1150+
- uses: namespacelabs/nscloud-checkout-action@938f5d2d403d6224d9a0c0dc559b1dae09c2ede4 # v8.1.1
1151+
if: ${{ inputs.runner_provider == 'namespace' }}
1152+
with:
1153+
fetch-depth: 1
1154+
sparse-checkout: |
1155+
.github/actions/ci-status-gate
1156+
10981157
- uses: actions/checkout@v6
1158+
if: ${{ inputs.runner_provider != 'namespace' }}
10991159
with:
11001160
fetch-depth: 1
11011161
sparse-checkout: |

.github/workflows/run-e2e-regression-tests-android.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,8 +187,13 @@ jobs:
187187
- regression-ux-android
188188

189189
steps:
190+
- name: Checkout (Namespace)
191+
uses: namespacelabs/nscloud-checkout-action@938f5d2d403d6224d9a0c0dc559b1dae09c2ede4 # v8.1.1
192+
if: ${{ inputs.runner_provider == 'namespace' }}
193+
190194
- name: Checkout
191195
uses: actions/checkout@v4
196+
if: ${{ inputs.runner_provider != 'namespace' }}
192197

193198
- name: Download shards test artifacts (XMLs + Screenshots)
194199
uses: actions/download-artifact@v4

.github/workflows/run-e2e-regression-tests-ios.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -186,8 +186,13 @@ jobs:
186186
- regression-ux-ios
187187

188188
steps:
189+
- name: Checkout (Namespace)
190+
uses: namespacelabs/nscloud-checkout-action@938f5d2d403d6224d9a0c0dc559b1dae09c2ede4 # v8.1.1
191+
if: ${{ inputs.runner_provider == 'namespace' }}
192+
189193
- name: Checkout
190194
uses: actions/checkout@v4
195+
if: ${{ inputs.runner_provider != 'namespace' }}
191196

192197
- name: Download shards test artifacts (XMLs + Screenshots)
193198
uses: actions/download-artifact@v4

.github/workflows/run-e2e-smoke-tests-android.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -300,8 +300,13 @@ jobs:
300300
- browser-android-smoke
301301
- snaps-android-smoke
302302
steps:
303+
- name: Checkout (Namespace)
304+
uses: namespacelabs/nscloud-checkout-action@938f5d2d403d6224d9a0c0dc559b1dae09c2ede4 # v8.1.1
305+
if: ${{ inputs.runner_provider == 'namespace' }}
306+
303307
- name: Checkout
304308
uses: actions/checkout@v6
309+
if: ${{ inputs.runner_provider != 'namespace' }}
305310

306311
- name: Setup Node.js
307312
uses: actions/setup-node@v6

.github/workflows/run-e2e-smoke-tests-ios.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -315,8 +315,13 @@ jobs:
315315
- browser-ios-smoke
316316
- snaps-ios-smoke
317317
steps:
318+
- name: Checkout (Namespace)
319+
uses: namespacelabs/nscloud-checkout-action@938f5d2d403d6224d9a0c0dc559b1dae09c2ede4 # v8.1.1
320+
if: ${{ inputs.runner_provider == 'namespace' }}
321+
318322
- name: Checkout
319323
uses: actions/checkout@v6
324+
if: ${{ inputs.runner_provider != 'namespace' }}
320325

321326
- name: Setup Node.js
322327
uses: actions/setup-node@v6

0 commit comments

Comments
 (0)