Skip to content

ci: simplify migration test matrix - #1347

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

piotr-iohk merged 5 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 12-case RN matrix with RN 1.1.6 restore/install-on-top and previous-native restore/install-on-top.
  • Resolve the pinned native baseline through the companion E2E repository and preserve an optional extended RN matrix.
  • Upload diagnostics for every matrix 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 independently resolved source artifacts and retries.

Coordinated rollout

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

Merge the E2E PR first. Before merging the iOS PR, change its reusable wallet-setup workflow reference from the temporary companion branch to @main. Then merge the Android and iOS workflow PRs.

@piotr-iohk

Copy link
Copy Markdown
Collaborator Author

Fresh E2E migration validation: https://github.com/synonymdev/bitkit-android/actions/runs/36161732548

@github-actions

github-actions Bot commented Sep 25, 2026 •

Copy link
Copy Markdown
Contributor

Regtest APK

Built from 8bdc904 (run).

Download bitkit-dev-debug universal APK (expires in 30 days).

@greptile-apps

greptile-apps Bot commented Sep 25, 2026 •

Copy link
Copy Markdown
Contributor

RetriggerConfidence Score: 4/5

[High risk] Adds conditional logic and external script execution to CI test matrix.

The PR appears safe to merge, with a non-blocking hardening change recommended for the download command.

Findings

  1. P2 Version breaks shell quoting ▶

Summary

The workflow replaces the hard-coded RN migration matrix with companion-repository planning and downloads, adds an optional extended run and native baseline override, and aggregates migration results. Diagnostics are now uploaded on successful as well as failed matrix jobs.

Diagram

%%{init: {'theme': 'neutral'}}%%
flowchart LR
  Inputs[Dispatch inputs] --> Plan[Resolve ref and generate migration plan]
  Plan --> Matrix[Migration scenario matrix]
  Build[Build Android APK] --> Matrix
  Matrix --> Result[Require migration jobs to succeed]
  Result --> Slack[Optional Slack summary]
Loading

Reviews (1) · Last reviewed commit: "ci: use simplified migration matrix"

Comment thread .github/workflows/e2e_migration.yml Outdated
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
@piotr-iohk

Copy link
Copy Markdown
Collaborator Author

Clarification on the migration run above: the only failing case, rn_restore, is unrelated to the workflow/test changes in this PR. It reproduces #1342: the historical on-chain receive sheet remains open after mnemonic restore and covers the wallet home screen.

This branch does not contain the fix merged in #1343. The other three migration cases passed. Once this branch includes #1343 (for example by updating it from current master), that known failure should be resolved.

@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 1b58ce70f0e2caa1498b59b39359ee88dec651b5 with the companion migration changes.

No actionable code findings. The earlier shell-quoting concern is addressed by passing MIGRATION_SOURCE and MIGRATION_VERSION through environment variables.

Build, lint and detekt pass; migration jobs were skipped on this head. The earlier manual run passed three cases and failed rn_restore. The author attributes that failure to #1342 and notes that this branch lacks the fix merged in #1343. This is an existing product regression, not a new finding in this workflow change.

Include that fix and rerun migration coverage before considering verification complete. Merge E2E #258 first as documented in the coordinated rollout.

@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.

Pre-existing and gated: neither path migrates Paykit/Pubky state, although 2.5.0 ships Paykit (PaykitFeatureFlags.kt 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:02
@piotr-iohk

Copy link
Copy Markdown
Collaborator Author

Fresh migration validation on the updated branch (including the #1343 restore fix): https://github.com/synonymdev/bitkit-android/actions/runs/36407346720

@piotr-iohk
piotr-iohk merged commit 3b03eb1 into master Sep 28, 2026
22 of 24 checks passed
@piotr-iohk
piotr-iohk deleted the test/migration-baseline branch September 28, 2026 15:56
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