Bump Babel, TypeScript, React Native and assorted dependencies; refresh lockfile (#1606)

* Update dependency versions

* Fix gesture handler Android dependency (#1611)

* Patch screens codegen type (#1609)

* Downgrade Sentry React Native (#1612)

* fix patches and packages

* downgrade versions for gesture handler and screens

* agent feedback

* fix ios building

* allow ios tets to pass

* formatting

* make cache more resilient

* Address CodeRabbitAI review comments

This commit addresses all 7 unresolved CodeRabbitAI comments on PR #1606:

Patch-package error handling (comments #1, #2, #3):
- stderr capture already implemented in both root and workspace patch runs
- Add CI warning when patches fail silently instead of exiting with 0
- Log completion status in CI mode for visibility

Critical Mixpanel dependency fix (comment #5):
- Add explicit Mixpanel-swift pod declaration to fix E2E build failures
- Ensures Mixpanel is available even when NFCPassportReader is skipped during E2E testing

React-native-web validation (comment #4):
- Verified no usage of deprecated findNodeHandle, pointerEvents: 'box-none', or createPortal
- Safe to upgrade from 0.19 to 0.21.2

CI workflow improvements (comments #6, #7):
- Create cache-sdk-build composite action for consistent SDK build artifact caching
- Replace all direct actions/cache@v4 usage with cache-yarn composite action
- Replace all direct actions/cache/restore@v4 and save@v4 with cache-sdk-build
- Add nested require() validation step before tests to fail fast on problematic patterns

All changes follow repository coding guidelines for CI caching and test memory optimization.

* Extend cache composite actions to all SDK workflows

This commit extends the caching standardization from PR #1606 to include
mobile-sdk-ci.yml and core-sdk-ci.yml workflows.

New composite actions created:
- cache-mobile-sdk-build: For mobile SDK build artifacts
- cache-core-sdk-build: For core SDK build artifacts

Workflow updates:
- mobile-sdk-ci.yml: Replaced 5 instances of direct actions/cache with cache-mobile-sdk-build
- core-sdk-ci.yml: Replaced 4 instances of direct actions/cache with cache-core-sdk-build

All SDK CI workflows now use consistent caching patterns via composite actions,
following the AGENTS.md guideline: "Use shared composite actions from .github/actions
for CI caching instead of calling actions/cache directly."

Benefits:
- Consistent caching across all SDK workflows (qrcode, mobile, core)
- Centralized cache configuration - easier to maintain
- Follows established patterns from qrcode-sdk-ci.yml

* downgrade react-native-svg

* update pod lock file

* sort
This commit is contained in:
Justin Hernandez
2026-01-28 12:47:32 -08:00
committed by GitHub
parent 16c58906d9
commit 8da076cf0d
30 changed files with 1143 additions and 650 deletions

View File

@@ -323,9 +323,7 @@ library CustomVerifier {
if (verificationConfig.forbiddenCountriesEnabled) {
for (uint256 i = 0; i < 4; i++) {
if (
kycOutput.forbiddenCountriesListPacked[i] != verificationConfig.forbiddenCountriesListPacked[i]
) {
if (kycOutput.forbiddenCountriesListPacked[i] != verificationConfig.forbiddenCountriesListPacked[i]) {
revert InvalidForbiddenCountries();
}
}

View File

@@ -375,10 +375,7 @@ export async function deploySystemFixturesV2(): Promise<DeployedActorsV2> {
let registryKycContract, updateKycHubTx;
{
registryKycContract = await ethers.getContractAt(
"IdentityRegistryKycImplV1",
identityRegistryKycProxy.target,
);
registryKycContract = await ethers.getContractAt("IdentityRegistryKycImplV1", identityRegistryKycProxy.target);
updateKycHubTx = await registryKycContract.updateHub(identityVerificationHubV2.target);
await updateKycHubTx.wait();

View File

@@ -589,12 +589,8 @@ export function getSMTs() {
) as typeof SMT;
const nameAndDob_id_smt = importSMTFromJsonFile("../circuits/tests/consts/ofac/nameAndDobSMT_ID.json") as typeof SMT;
const nameAndYob_id_smt = importSMTFromJsonFile("../circuits/tests/consts/ofac/nameAndYobSMT_ID.json") as typeof SMT;
const nameAndDob_kyc_smt = importSMTFromJsonFile(
"../circuits/tests/consts/ofac/nameAndDobKycSMT.json",
) as typeof SMT;
const nameAndYob_kyc_smt = importSMTFromJsonFile(
"../circuits/tests/consts/ofac/nameAndYobKycSMT.json",
) as typeof SMT;
const nameAndDob_kyc_smt = importSMTFromJsonFile("../circuits/tests/consts/ofac/nameAndDobKycSMT.json") as typeof SMT;
const nameAndYob_kyc_smt = importSMTFromJsonFile("../circuits/tests/consts/ofac/nameAndYobKycSMT.json") as typeof SMT;
return {
passportNo_smt,

View File

@@ -145,12 +145,7 @@ describe("KYC Registration test", function () {
});
it("should successfully register an identity commitment", async () => {
await deployedActors.registryKyc.registerPubkeyCommitment(
mockProof.a,
mockProof.b,
mockProof.c,
mockPubSignals,
);
await deployedActors.registryKyc.registerPubkeyCommitment(mockProof.a, mockProof.b, mockProof.c, mockPubSignals);
await expect(deployedActors.hub.registerCommitment(attestationIdBytes32, 0n, registerProof)).to.emit(
deployedActors.registryKyc,
@@ -168,12 +163,7 @@ describe("KYC Registration test", function () {
});
it("should not register an identity commitment if the proof is invalid", async () => {
await deployedActors.registryKyc.registerPubkeyCommitment(
mockProof.a,
mockProof.b,
mockProof.c,
mockPubSignals,
);
await deployedActors.registryKyc.registerPubkeyCommitment(mockProof.a, mockProof.b, mockProof.c, mockPubSignals);
const invalidRegisterProof = structuredClone(registerProof);
invalidRegisterProof.pubSignals[1] = 0n;
@@ -434,12 +424,7 @@ describe("KYC Registration test", function () {
];
await expect(
deployedActors.registryKyc.registerPubkeyCommitment(
mockProof.a,
mockProof.b,
mockProof.c,
mockPubSignals,
),
deployedActors.registryKyc.registerPubkeyCommitment(mockProof.a, mockProof.b, mockProof.c, mockPubSignals),
).to.be.revertedWithCustomError(deployedActors.registryKyc, "INVALID_PROOF");
});
@@ -456,12 +441,7 @@ describe("KYC Registration test", function () {
];
await expect(
deployedActors.registryKyc.registerPubkeyCommitment(
mockProof.a,
mockProof.b,
mockProof.c,
mockPubSignals,
),
deployedActors.registryKyc.registerPubkeyCommitment(mockProof.a, mockProof.b, mockProof.c, mockPubSignals),
).to.be.revertedWithCustomError(deployedActors.registryKyc, "INVALID_ROOT_CA");
});
@@ -478,12 +458,7 @@ describe("KYC Registration test", function () {
];
await expect(
deployedActors.registryKyc.registerPubkeyCommitment(
mockProof.a,
mockProof.b,
mockProof.c,
mockPubSignals,
),
deployedActors.registryKyc.registerPubkeyCommitment(mockProof.a, mockProof.b, mockProof.c, mockPubSignals),
).to.be.revertedWithCustomError(deployedActors.registryKyc, "INVALID_IMAGE");
});
});