Skip to content

ci: cover RN and native migration paths - #804

Merged
piotr-iohk merged 4 commits into
masterfrom
test/migration-baseline
Sep 28, 2026
Merged

piotr-iohk merged 4 commits into
masterfrom
test/migration-baseline

Conversation

@piotr-iohk

@piotr-iohk piotr-iohk commented Sep 25, 2026 •

Copy link
Copy Markdown
Collaborator

Description

  • Replace the legacy RN-only matrix with RN 1.1.6 restore/install-on-top and native 2.5.0 restore/install-on-top.
  • Prepare RN wallets with Android 1.1.6, while native 2.5.0 wallets are created and migrated directly on iOS.
  • Split RN and native jobs so their source setup is explicit, upload diagnostics for every job, and require every migration job to pass.

Design

N/A — no UI changes.

Preview

N/A

QA Notes

Journeys

N/A — no user-visible behaviour change.

Manual Tests

N/A

Automated Checks

  • updated e2e_migration.yml — runs four routine migration paths with independent wallets and up to three attempts.

Coordinated rollout

This PR is part of one migration-test rollout and should be reviewed with:

The reusable wallet-setup workflow is pinned to @main. Merge this PR together with the companion Android workflow PR.

@piotr-iohk

Copy link
Copy Markdown
Collaborator Author

Fresh E2E migration validation: https://github.com/synonymdev/bitkit-ios/actions/runs/36161750530

@piotr-iohk

Copy link
Copy Markdown
Collaborator Author

Replacement E2E migration validation after fixing RN wallet retry isolation: https://github.com/synonymdev/bitkit-ios/actions/runs/36163239073

The earlier run exposed the notification-shade retry issue and was cancelled after the fix was pushed.

@greptile-apps

greptile-apps Bot commented Sep 25, 2026 •

Copy link
Copy Markdown

RetriggerConfidence Score: 4/5

[High risk] Restructures CI workflow for migration testing.

The PR should not merge until wallet setup references the companion workflow on @main.

Findings

  1. P1 Temporary wallet setup dependency ▶

Summary

The workflow replaces the RN-only migration matrix with separate RN and native paths, adds per-attempt RN wallets and diagnostic uploads, and aggregates their results. The temporary reusable-workflow reference remains to be switched to @main before merge.

Diagram

%%{init: {'theme': 'neutral'}}%%
flowchart LR
  Plan[migration-plan] --> Wallets[prepare-wallets]
  Plan --> RN[rn-tests]
  Plan --> Native[native-tests]
  Wallets --> RN
  RN --> Result[migration-result]
  Native --> Result
  Wallets --> Result
  Result --> Slack[slack-report]
Loading

Reviews (1) · Last reviewed commit: "ci: use companion migration setup workfl..."

Comment thread .github/workflows/e2e_migration.yml Outdated
@piotr-iohk
piotr-iohk requested review from a team, ben-kaufman and pwltr and removed request for a team September 25, 2026 19:46

@pwltr pwltr left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed 9e3bdf35d99823aebf3ed9443e6ca1009f511b15 with the companion migration changes.

No actionable code findings. The earlier reusable-workflow reference concern is addressed: migration-wallet-setup.yml now uses @main.

Executed CI checks pass, but the migration jobs were skipped on this head. The replacement manual run passed all four migration cases on the preceding head, 912914c104baca998c7afbd7c916207d3d70ef60; it does not verify the final switch to @main.

Merge E2E #258 first so the reusable workflow provides the new wallet-attempt-* artifacts. Migration verification on this exact head remains pending.

@jvsena42 jvsena42 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One low-severity observation inline, nothing blocking.

Checked and clean:

  • Coverage today: RN v1.1.6 restore and install-on-top, and native 2.5.0 restore and install-on-top. 2.5.0 is the newest tag, so it is the previously shipped release.
  • No silent passes: attempt 3 has no continue-on-error, migration-result treats a skipped job as a failure, the matrix cannot be empty, an invalid version fails the plan job, and the grep tags exist in the spec.
  • Secrets: pull_request only; test jobs pass no secrets to E2E-repo code, and diagnostics exclude **/*.env.
  • The migration-env artifact names match between the reusable workflow and the consumer, each retry loads its own wallet, and the cat "$env_file" that printed the mnemonic to the log is gone.

Pre-existing and gated: neither path migrates Paykit/Pubky state, although 2.5.0 ships Paykit (PaykitFeatureFlags.swift at v2.5.0). The native helper creates only on-chain, tag and transfer state.

Comment thread .github/workflows/e2e_migration.yml
@piotr-iohk
piotr-iohk requested a review from jvsena42 September 28, 2026 10:03
@piotr-iohk
piotr-iohk merged commit ba35e27 into master Sep 28, 2026
17 checks passed
@piotr-iohk
piotr-iohk deleted the test/migration-baseline branch September 28, 2026 15:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants