Skip to content

Commit b2e95cf

Browse files
bsgrigorovcursoragentalucardzom
authored
ci(INFRA-3628): Phase 5b - nscloud checkout action (#30139)
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until this PR meets the canonical Definition of Ready For Review in `docs/readme/ready-for-review.md`. In short: the template must be materially complete (not just section titles present), all status checks must be currently passing, and the only expected follow-up commits must be reviewer-driven. --> <!-- Automation: `.github/scripts/check-template-and-add-labels.ts` requires the PR body to contain every section title listed in `.github/scripts/shared/template.ts` (exact substring match). Do not delete **Screenshots/Recordings** or other sections—even for infra-only PRs. Use "N/A" (or a short note) under those headings instead, or GitHub applies **INVALID-PR-TEMPLATE**. --> ## **Description** **Goal:** Close **INFRA-3628 Phase 5b** — make Namespace-hosted CI jobs use Namespace’s supported checkout path instead of treating them like GitHub-hosted runners, without changing how **`runner_provider: current`** behaves today. **What we shipped:** Every place the workflow graph already chooses Namespace via `runner_provider` now checks out with **nscloud checkout on `namespace`** and keeps the **existing `actions/checkout` path on `current`** (same majors / `if:` guards so the default path stays equivalent). That covers the main **`ci`** graph, reusable builds and node-modules setup, iOS/Android E2E build workflows, the callable **`run-e2e-workflow`** runner, and the **smoke/regression report** jobs that also land on Namespace Linux when trialing Namespace. **E2E setup:** The shared **`setup-e2e-env`** composite accepts optional **yarn** and **CocoaPods** per-attempt retry timeouts; **`run-e2e-workflow`** raises the outer **`Set up E2E environment`** cap for **Namespace + iOS** and passes those inputs so parallel iOS smoke is less likely to die mid-install under contention. This is a stability cushion; deeper Namespace CocoaPods cache work can follow the same ticket / INFRA-3596 thread. **Scope note:** No app or product behaviour changes — CI and composite action YAML only. ## **Changelog** CHANGELOG entry: null ## **Related issues** Fixes: [INFRA-3628](https://consensyssoftware.atlassian.net/browse/INFRA-3628) ## **Manual testing steps** ```gherkin Feature: INFRA-3628 Namespace checkout pilot Scenario: Current runner path is unchanged Given ci (or downstream workflows) run with runner_provider current When checkout steps execute Then the same actions/checkout path runs as before and nscloud checkout is skipped Scenario: Namespace runner path uses nscloud checkout Given the same workflows run with runner_provider namespace When checkout steps execute Then nscloud checkout runs on Namespace profiles and actions/checkout is skipped Scenario: Namespace iOS E2E smoke can finish environment setup more often Given a Namespace dispatch with a full iOS smoke matrix When each shard runs Set up E2E environment Then setup is less likely to hit the previous hard timeout during CocoaPods under parallel load ``` ## **Screenshots/Recordings** N/A — infrastructure / CI only. ### **Before** N/A ### **After** N/A ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I've included tests if applicable (validated via `pull_request` CI and Namespace `workflow_dispatch` trials on this branch) - [x] I've documented my code using [JSDoc](https://jsdoc.app/) format if applicable (N/A — YAML / workflow config only) - [x] I've applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. #### Performance checks (if applicable) N/A — no app or bundle changes. - [ ] I've tested on Android - Ideally on a mid-range device; emulator is acceptable - [ ] I've tested with a power user scenario - Use these [power-user SRPs](https://consensyssoftware.atlassian.net/wiki/spaces/TL1/pages/edit-v2/401401446401?draftShareId=9d77e1e1-4bdc-4be1-9ebb-ccd916988d93) to import wallets with many accounts and tokens - [ ] I've instrumented key operations with Sentry traces for production performance metrics - See [`trace()`](/app/util/trace.ts) for usage and [`addToken`](/app/components/Views/AddAsset/components/AddCustomToken/AddCustomToken.tsx#L274) for an example For performance guidelines and tooling, see the [Performance Guide](https://consensyssoftware.atlassian.net/wiki/spaces/TL1/pages/400085549067/Performance+Guide+for+Engineers). ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. [INFRA-3628]: https://consensyssoftware.atlassian.net/browse/INFRA-3628?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Medium Risk** > Touches a broad set of CI workflows and checkout paths; while behavior is intended to be equivalent for `runner_provider: current`, misconfigured `if:` guards or checkout options could break builds/tests specifically on Namespace runners. > > **Overview** > Updates the CI workflow graph (main `ci.yml`, reusable build workflows, E2E smoke/regression runners, and `setup-node-modules`) to **conditionally use `namespacelabs/nscloud-checkout-action` when `runner_provider == 'namespace'`**, while keeping the existing `actions/checkout` path for `current`. > > Extends the `setup-e2e-env` composite action with new inputs for **per-attempt retry timeouts** (JS deps/Corepack and CocoaPods), and updates `run-e2e-workflow.yml` to increase the overall setup timeout for **Namespace+iOS** and pass larger timeout values into the composite. > > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit d58574f. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot).</sup> <!-- /CURSOR_SUMMARY --> --------- Co-authored-by: Cursor <cursoragent@cursor.com> Co-authored-by: Ale Som <560018+alucardzom@users.noreply.github.com>
1 parent 5d661e9 commit b2e95cf

11 files changed

Lines changed: 149 additions & 7 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/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)