Skip to content
Merged

Dev #1074

Show file tree
Hide file tree
Changes from 4 commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
3d46aec
chore: bump v2.6.5 rd2 (#1067)
transphorm Sep 13, 2025
657d8af
chore: update tooling dependencies (#1069)
transphorm Sep 14, 2025
5c569e6
chore: minor fixes across monorepo (#1068)
transphorm Sep 14, 2025
045a805
fix yarn build; add workflow ci (#1075)
transphorm Sep 16, 2025
8e385cb
feat: add functions for disclosing aadhaar attributes (#1033)
Nesopie Sep 16, 2025
c11c9af
chore: update monorepo artifacts (#1079)
transphorm Sep 16, 2025
f85a23a
cleans up unused parts of sdk interface, adds inline documentation, (…
aaronmgdr Sep 17, 2025
729ee76
Feat/aadhaar sdk (#1082)
Nesopie Sep 17, 2025
30cc43e
feat: change to gcp attestation verification (#959)
Nesopie Sep 17, 2025
8983ac2
Mobile SDK: move provingMachine from the app (#1052)
shazarre Sep 17, 2025
3397fcf
Revert "Mobile SDK: move provingMachine from the app (#1052)" (#1084)
transphorm Sep 17, 2025
48e4a53
fix: sdk (#1085)
Nesopie Sep 17, 2025
1d648ef
bump sdk (#1086)
Nesopie Sep 17, 2025
c2406f0
chore update mobile app types (#1087)
transphorm Sep 18, 2025
a0123d2
feat: add contract utils (#1088)
Nesopie Sep 18, 2025
86c595b
Feat/contracts npm publish (#1089)
Nesopie Sep 18, 2025
b21df03
fix: use celo sepolia in common (#1091)
Nesopie Sep 18, 2025
b0ae194
chore: export selfappbuilder (#1092)
Nesopie Sep 18, 2025
a005bde
[SELF-747] feat: clone android passport reader during setup (#1080)
transphorm Sep 18, 2025
779fea5
address version mismatches and package resolutions (#1081)
transphorm Sep 19, 2025
d0a66a1
fix: aadhaar verifier abi (#1096)
Nesopie Sep 19, 2025
664be08
fix: go-sdk (#1090)
Vishalkulkarni45 Sep 19, 2025
2df4dc4
SELF-725: add iOS qrcode opener and aadhaar screen (#1038)
remicolin Sep 20, 2025
48a8146
fix aadhaar screen test (#1101)
transphorm Sep 20, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions .cursorignore
Original file line number Diff line number Diff line change
Expand Up @@ -191,8 +191,6 @@ circuits/tests/**/test_cases.ts

# iOS
*.xcworkspace/
*.xcodeproj/
*.pbxproj
app/ios/App Thinning Size Report.txt

# Android
Expand Down
6 changes: 1 addition & 5 deletions .github/actions/mobile-setup/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -78,11 +78,7 @@ runs:
fi

# Run mobile-specific installation
if [[ "${{ runner.os }}" == "macOS" ]]; then
yarn install-app:mobile-deploy:ios
else
yarn install-app:mobile-deploy
fi
yarn install-app:mobile-deploy

# Install Ruby gems with bundler (respecting cache)
echo "📦 Installing Ruby gems with strict lock file..."
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/mobile-bundle-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ on:

jobs:
analyze-android:
runs-on: macos-14
runs-on: macos-latest-large
steps:
- uses: actions/checkout@v4
- name: Read and sanitize Node.js version
Expand Down Expand Up @@ -80,7 +80,7 @@ jobs:
working-directory: ./app

analyze-ios:
runs-on: macos-14
runs-on: macos-latest-large
steps:
- uses: actions/checkout@v4
- name: Read and sanitize Node.js version
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/mobile-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ concurrency:
jobs:
build-deps:
runs-on: macos-latest-large
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
- name: Read and sanitize Node.js version
Expand Down Expand Up @@ -92,6 +93,7 @@ jobs:
test:
runs-on: macos-latest-large
needs: build-deps
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
- name: Read and sanitize Node.js version
Expand Down Expand Up @@ -193,6 +195,7 @@ jobs:
build-ios:
runs-on: macos-latest-large
needs: build-deps
timeout-minutes: 60
env:
# iOS project configuration - hardcoded for CI stability
IOS_PROJECT_NAME: "Self"
Expand Down Expand Up @@ -381,6 +384,7 @@ jobs:
build-android:
runs-on: ubuntu-latest
needs: build-deps
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
- name: Read and sanitize Node.js version
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/mobile-e2e.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
concurrency:
group: ${{ github.workflow }}-android-${{ github.ref }}
cancel-in-progress: true
timeout-minutes: 45
timeout-minutes: 60
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -135,7 +135,7 @@ jobs:
if-no-files-found: warn

e2e-ios:
timeout-minutes: 45
timeout-minutes: 60
runs-on: macos-latest-large
concurrency:
group: ${{ github.workflow }}-ios-${{ github.ref }}
Expand Down
198 changes: 198 additions & 0 deletions .github/workflows/workspace-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,198 @@
name: Workspace CI

on:
pull_request:
branches:
- dev
- staging
- main
push:
branches:
- dev
- staging
- main

jobs:
workspace-build:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v4

- name: Cache Yarn dependencies
uses: ./.github/actions/cache-yarn
with:
path: |
.yarn/cache
node_modules
*/node_modules
packages/*/node_modules
cache-version: v1

- name: Install Dependencies
uses: ./.github/actions/yarn-install

- name: Run workspace build
run: yarn build

Comment on lines +21 to +38
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Missing Node 22 + Yarn 4 setup; builds may run with wrong toolchain.

These jobs don’t set Node from .nvmrc nor activate Yarn 4.6.0. On ubuntu-latest, you’ll get the runner default Node/Yarn, causing install/build inconsistencies and lockfile churn.

Apply this pattern right after checkout in each job (repeat for all jobs shown in the selected ranges):

       - uses: actions/checkout@v4
+      - name: Read and sanitize Node.js version
+        shell: bash
+        run: |
+          if [ ! -f .nvmrc ] || [ -z "$(cat .nvmrc)" ]; then
+            echo "❌ .nvmrc is missing or empty"; exit 1;
+          fi
+          VERSION="$(tr -d '\r\n' < .nvmrc)"; VERSION="${VERSION#v}"
+          if ! [[ "$VERSION" =~ ^[0-9]+(\.[0-9]+){0,2}$ ]]; then
+            echo "Invalid .nvmrc content: '$VERSION'"; exit 1;
+          fi
+          echo "NODE_VERSION=$VERSION" >> "$GITHUB_ENV"
+      - name: Use Node.js
+        uses: actions/setup-node@v4
+        with:
+          node-version: ${{ env.NODE_VERSION }}
+      - name: Enable Corepack and activate Yarn 4.6.0
+        run: |
+          corepack enable
+          corepack prepare [email protected] --activate

Consider including GH_CACHE_VERSION in cache-version inputs for more stable keys, consistent with mobile-ci.

Also applies to: 50-73, 79-102, 109-143, 150-173

🤖 Prompt for AI Agents
.github/workflows/workspace-ci.yml lines 21-38: the job steps run without
setting Node 22 and activating Yarn 4, which can cause wrong runner toolchain;
after the checkout step add a setup step to install Node 22 (actions/setup-node)
and activate the correct Yarn v4.6.0 (enable corepack and run corepack prepare
[email protected] --activate or equivalent), then proceed to cache/install/build; also
update the cache-version inputs to include GH_CACHE_VERSION (e.g., incorporate
it into the cache key) for more stable cache keys; apply the same changes to the
other job ranges noted (50-73, 79-102, 109-143, 150-173).

- name: Verify build artifacts
run: |
echo "Checking for build artifacts..."
find . -name "dist" -type d | head -10
echo "Build completed successfully!"

workspace-type-check:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v4

- name: Cache Yarn dependencies
uses: ./.github/actions/cache-yarn
with:
path: |
.yarn/cache
node_modules
*/node_modules
packages/*/node_modules
cache-version: v1

- name: Install Dependencies
uses: ./.github/actions/yarn-install

- name: Build workspace dependencies
run: yarn build

- name: Run workspace type checking
run: yarn types

- name: Verify type checking passed
run: echo "Type checking completed successfully!"

workspace-lint:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v4

- name: Cache Yarn dependencies
uses: ./.github/actions/cache-yarn
with:
path: |
.yarn/cache
node_modules
*/node_modules
packages/*/node_modules
cache-version: v1

- name: Install Dependencies
uses: ./.github/actions/yarn-install

- name: Build workspace dependencies
run: yarn build

- name: Run workspace linting
run: yarn lint

- name: Verify linting passed
run: echo "Linting completed successfully!"

workspace-format-check:
if: false
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v4

- name: Cache Yarn dependencies
uses: ./.github/actions/cache-yarn
with:
path: |
.yarn/cache
node_modules
*/node_modules
packages/*/node_modules
cache-version: v1

- name: Install Dependencies
uses: ./.github/actions/yarn-install

- name: Check code formatting (dry run)
run: |
echo "Checking if code is properly formatted..."
# Run format in dry-run mode by checking if any files would change
if ! git diff --quiet --exit-code; then
echo "Working directory not clean before format check"
git status --porcelain
exit 1
fi
yarn format
if ! git diff --quiet --exit-code; then
echo "❌ Code formatting issues found. The following files need formatting:"
git diff --name-only
echo "Run 'yarn format' to fix these issues."
exit 1
fi

- name: Verify formatting check passed
run: echo "Code formatting check completed successfully!"

workspace-test:
if: false
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v4

- name: Cache Yarn dependencies
uses: ./.github/actions/cache-yarn
with:
path: |
.yarn/cache
node_modules
*/node_modules
packages/*/node_modules
cache-version: v1

- name: Install Dependencies
uses: ./.github/actions/yarn-install

- name: Build workspace dependencies
run: yarn build

- name: Run workspace tests
run: yarn test

- name: Verify tests passed
run: echo "Workspace tests completed successfully!"

# version-consistency:
# runs-on: ubuntu-latest
# permissions:
# contents: read
# steps:
# - uses: actions/checkout@v4

# - name: Cache Yarn dependencies
# uses: ./.github/actions/cache-yarn
# with:
# path: |
# .yarn/cache
# node_modules
# */node_modules
# packages/*/node_modules
# cache-version: v1

# - name: Install Dependencies
# uses: ./.github/actions/yarn-install

# - name: Check package version consistency
# run: yarn check:versions

# - name: Verify version consistency
# run: echo "Package version consistency check passed!"
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ showcase
output/*
*.tsbuildinfo
.yarnrc.yml
package-lock.json

# CI-generated tarballs (don't commit these!)
mobile-sdk-alpha-ci.tgz
Expand Down
2 changes: 1 addition & 1 deletion app/Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ GEM
artifactory (3.0.17)
atomos (0.1.3)
aws-eventstream (1.4.0)
aws-partitions (1.1158.0)
aws-partitions (1.1159.0)
aws-sdk-core (3.232.0)
aws-eventstream (~> 1, >= 1.3.0)
aws-partitions (~> 1, >= 1.992.0)
Expand Down
4 changes: 1 addition & 3 deletions app/android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@ apply plugin: "com.facebook.react"
apply plugin: "org.jetbrains.kotlin.android"
apply plugin: 'kotlin-android'
apply plugin: 'com.google.gms.google-services'
apply from: "../../../node_modules/@sentry/react-native/sentry.gradle"



/**
Expand Down Expand Up @@ -123,7 +121,7 @@ android {
applicationId "com.proofofpassportapp"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 98
versionCode 99
versionName "2.6.5"
manifestPlaceholders = [appAuthRedirectScheme: 'com.proofofpassportapp']
externalNativeBuild {
Expand Down
14 changes: 1 addition & 13 deletions app/fastlane/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,24 +3,12 @@ fastlane documentation

# Installation

Make sure you have the Xcode command line tools installed:
Make sure you have the latest version of the Xcode command line tools installed:

```sh
xcode-select --install
```

**Note:** The above command installs only the Command Line Tools, not the full Xcode app. Some Fastlane lanes and CocoaPods require the full Xcode app and the correct DEVELOPER_DIR. To verify your setup and switch to the proper Xcode app if needed:

```bash
# Verify Xcode and CLT
xcodebuild -version
xcode-select -p

# If needed, point to the correct Xcode app:
sudo xcode-select -s /Applications/Xcode.app
sudo xcodebuild -runFirstLaunch
```

For _fastlane_ installation instructions, see [Installing _fastlane_](https://docs.fastlane.tools/#installing-fastlane)

# Available Actions
Expand Down
10 changes: 5 additions & 5 deletions app/ios/Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2047,7 +2047,7 @@ PODS:
- ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
- Yoga
- RNSentry (7.0.0-beta.1):
- RNSentry (7.0.1):
- DoubleConversion
- glog
- hermes-engine
Expand All @@ -2068,7 +2068,7 @@ PODS:
- ReactCodegen
- ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
- Sentry/HybridSDK (= 8.52.1)
- Sentry/HybridSDK (= 8.53.2)
- Yoga
- RNSVG (15.12.1):
- DoubleConversion
Expand Down Expand Up @@ -2116,7 +2116,7 @@ PODS:
- segment-analytics-react-native (2.21.2):
- React-Core
- sovran-react-native
- Sentry/HybridSDK (8.52.1)
- Sentry/HybridSDK (8.53.2)
- SocketRocket (0.7.1)
- sovran-react-native (1.1.3):
- React-Core
Expand Down Expand Up @@ -2561,10 +2561,10 @@ SPEC CHECKSUMS:
RNLocalize: a2c93da4b4afae4630d4b3be79320c11c4342d1f
RNReactNativeHapticFeedback: e526ac4a7ca9fb23c7843ea4fd7d823166054c73
RNScreens: 806e1449a8ec63c2a4e4cf8a63cc80203ccda9b8
RNSentry: d240d406990e08d9b1fa967aaac67b7cb61b32e2
RNSentry: 6ad982be2c8e32dab912afb4132b6a0d88484ea0
RNSVG: 0c1fc3e7b147949dc15644845e9124947ac8c9bb
segment-analytics-react-native: bad4c2c7b63818bd493caa2b5759fca59e4ae9a7
Sentry: 2cbbe3592f30050c60e916c63c7f5a2fa584005e
Sentry: 59993bffde4a1ac297ba6d268dc4bbce068d7c1b
SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748
sovran-react-native: a3ad3f8ff90c2002b2aa9790001a78b0b0a38594
SwiftQRScanner: e85a25f9b843e9231dab89a96e441472fe54a724
Expand Down
Loading
Loading