Skip to content
Merged
Show file tree
Hide file tree
Changes from 10 commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
262f9d7
Add Maestro e2e testing
transphorm Aug 4, 2025
c4d68fa
Run Maestro flows in parallel
transphorm Aug 4, 2025
6c56e26
Fix mobile e2e workflow
transphorm Aug 4, 2025
31f77f1
Fix e2e script flow path
transphorm Aug 4, 2025
0fbd2d4
prettier
transphorm Aug 4, 2025
07b4d77
fix
transphorm Aug 4, 2025
19ffd83
prettier
transphorm Aug 4, 2025
e6d40c2
standardize yml files and new formatting commands
transphorm Aug 4, 2025
f3b22f7
fix ndk
transphorm Aug 4, 2025
ae43a43
fix exclusions
transphorm Aug 4, 2025
6555bdc
use double quotes for yml files
transphorm Aug 4, 2025
73150e3
feedback
transphorm Aug 4, 2025
aec5c70
fixes
transphorm Aug 4, 2025
ab853c9
fixes
transphorm Aug 4, 2025
432f882
fix
transphorm Aug 4, 2025
643ed8c
fix ios job
transphorm Aug 4, 2025
d3ae090
unneeded
transphorm Aug 4, 2025
6c8a3f7
fix workflows
transphorm Aug 4, 2025
09ba2ea
fix launch workflow
transphorm Aug 4, 2025
55a251a
fix
transphorm Aug 4, 2025
dc835ff
fix pipeline
transphorm Aug 4, 2025
bb69e7d
workflow fixes
transphorm Aug 4, 2025
c40e2d6
install app to emulators
transphorm Aug 4, 2025
3988386
better logging
transphorm Aug 4, 2025
33c63e1
save current version of test script
transphorm Aug 4, 2025
5585583
android works. ios wip. update locks
transphorm Aug 4, 2025
16de329
fix pipelines
transphorm Aug 4, 2025
4204459
cr feedback
transphorm Aug 4, 2025
e84dc99
fix android e2e test
transphorm Aug 4, 2025
1fbc1c7
Split mobile e2e workflow by platform (#842)
transphorm Aug 6, 2025
167cb29
feedback
transphorm Aug 6, 2025
decd0d7
Merge branch 'dev' into codex/remove-detox-and-configure-maestro-cli
transphorm Aug 6, 2025
dc7e295
fixes
transphorm Aug 6, 2025
28c4b19
ignore for now
transphorm Aug 6, 2025
8faf185
ignore
transphorm Aug 6, 2025
de372e0
fix tests
transphorm Aug 6, 2025
c0efd03
fix ios simulator booting
transphorm Aug 6, 2025
11cda72
fix ios test
transphorm Aug 6, 2025
cfa68b2
shutdown after run
transphorm Aug 6, 2025
c2d5498
fix ios test
transphorm Aug 6, 2025
318b943
better timing
transphorm Aug 6, 2025
fb9a1c4
increase ios timeout
transphorm Aug 6, 2025
367c52f
fix both flows
transphorm Aug 6, 2025
b959cc2
fix pipeline
transphorm Aug 6, 2025
81f68dc
combine command
transphorm Aug 6, 2025
1245592
fix ios
transphorm Aug 6, 2025
713ce7a
break up build steps for better caching
transphorm Aug 6, 2025
ef39f66
remove cache
transphorm Aug 6, 2025
95ec9a7
fix ios and android test pipelines
transphorm Aug 6, 2025
78bc296
update logic
transphorm Aug 6, 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
18 changes: 9 additions & 9 deletions .coderabbit.yaml
Original file line number Diff line number Diff line change
@@ -1,25 +1,25 @@
# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

language: "en-US"
language: 'en-US'
tone_instructions: |
You are an expert code reviewer for a React Native/TypeScript mobile application with smart contract integration.
Focus on security, performance, and best practices. Be thorough but constructive in your feedback.

reviews:
profile: "chill"
profile: 'chill'
request_changes_workflow: false
high_level_summary: true
poem: true
review_status: true
auto_review:
enabled: true
drafts: false
base_branches: ["main", "dev"]
base_branches: ['main', 'dev']
tools:
github-checks:
timeout_ms: 300000
path_instructions:
- path: "app/src/**/*.{ts,tsx,js,jsx}"
- path: 'app/src/**/*.{ts,tsx,js,jsx}'
instructions: |
Review React Native TypeScript code for:
- Component architecture and reusability
Expand All @@ -28,35 +28,35 @@ reviews:
- TypeScript type safety
- React hooks usage and dependencies
- Navigation patterns
- path: "contracts/**/*.sol"
- path: 'contracts/**/*.sol'
instructions: |
Review Solidity smart contracts for:
- Security vulnerabilities (reentrancy, overflow, etc.)
- Gas optimization opportunities
- Access control patterns
- Event emission for important state changes
- Code documentation and NatSpec comments
- path: "circuits/**/*.circom"
- path: 'circuits/**/*.circom'
instructions: |
Review ZK circuit code for:
- Circuit correctness and completeness
- Constraint efficiency
- Input validation
- Security considerations for zero-knowledge proofs
- path: "**/*.{test,spec}.{ts,js,tsx,jsx}"
- path: '**/*.{test,spec}.{ts,js,tsx,jsx}'
instructions: |
Review test files for:
- Test coverage completeness
- Test case quality and edge cases
- Mock usage appropriateness
- Test readability and maintainability
- path: "app/android/**/*"
- path: 'app/android/**/*'
instructions: |
Review Android-specific code for:
- Platform-specific implementations
- Performance considerations
- Security best practices for mobile
- path: "app/ios/**/*"
- path: 'app/ios/**/*'
instructions: |
Review iOS-specific code for:
- Platform-specific implementations
Expand Down
4 changes: 2 additions & 2 deletions .gitguardian.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
version: 2
exclusion_globs:
- "common/src/mock_certificates/**"
- "common/src/constants/mockCertificates.ts"
- 'common/src/mock_certificates/**'
- 'common/src/constants/mockCertificates.ts'
8 changes: 4 additions & 4 deletions .github/actions/get-version/action.yml
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
name: Get Version from package.json

description: "Gets the version from package.json and sets it as an environment variable"
description: 'Gets the version from package.json and sets it as an environment variable'

inputs:
app_path:
description: "Path to the app directory"
description: 'Path to the app directory'
required: true

runs:
using: "composite"
using: 'composite'
steps:
- name: Get version from package.json
shell: bash
run: |
VERSION=$(node -p "require('${{ inputs.app_path }}/package.json').version")
echo "VERSION=$VERSION" >> $GITHUB_ENV
echo "VERSION=$VERSION" >> $GITHUB_ENV
21 changes: 10 additions & 11 deletions .github/actions/mobile-setup/action.yml
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
name: Setup Mobile Environment

description: "Sets up the environment for mobile app builds"
description: 'Sets up the environment for mobile app builds'

inputs:
app_path:
description: "Path to the app directory"
description: 'Path to the app directory'
required: true
node_version:
description: "Node version"
description: 'Node version'
required: true
ruby_version:
description: "Ruby version"
description: 'Ruby version'
required: true
workspace:
description: "Workspace directory path"
description: 'Workspace directory path'
required: true

runs:
using: "composite"
using: 'composite'
steps:
- name: Install locales and dialog for local development
if: ${{ env.ACT }}
Expand All @@ -34,7 +34,6 @@ runs:
sudo locale-gen en_US.UTF-8
sudo update-locale LANG=en_US.UTF-8


- name: Setup Ruby environment
uses: ruby/setup-ruby@v1
with:
Expand All @@ -57,11 +56,11 @@ runs:
shell: bash
run: |
cd ${{ inputs.app_path }}

# Configure Yarn
corepack enable
yarn set version 4.6.0

echo "📦 Installing JavaScript dependencies with strict lock file..."
if ! yarn install --immutable; then
echo ""
Expand All @@ -77,14 +76,14 @@ runs:
echo "This ensures everyone has the exact same dependency versions."
exit 1
fi

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

# Install Ruby gems with bundler (respecting cache)
echo "📦 Installing Ruby gems with strict lock file..."
if ! bundle install --jobs 4 --retry 3; then
Expand Down
6 changes: 3 additions & 3 deletions .github/actions/push-changes/action.yml
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
name: Push Build Version Changes

description: "Commits and pushes build version changes for mobile platforms"
description: 'Commits and pushes build version changes for mobile platforms'

inputs:
commit_message:
description: "Commit message"
description: 'Commit message'
required: true
commit_paths:
description: "Space-separated list of paths to check for changes (e.g. 'ios/file.txt android/another/file.xml')"
required: true

runs:
using: "composite"
using: 'composite'
steps:
- name: Configure Git
shell: bash
Expand Down
4 changes: 2 additions & 2 deletions .github/actions/yarn-install/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@ inputs:
working_directory:
description: The directory to install dependencies in.
required: false
default: "."
default: '.'

runs:
using: "composite"
using: 'composite'
steps:
- name: Install Yarn v4
shell: bash
Expand Down
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
name: OpenPassport CI/CD
name: Circuits Build
on:
push:
branches:
- main
paths:
- "circuits/circuits/**"
- ".github/workflows/artifacts.yml"
- 'circuits/circuits/**'
- '.github/workflows/artifacts.yml'
pull_request:
branches:
- main
paths:
- "circuits/circuits/**"
- ".github/workflows/artifacts.yml"
- 'circuits/circuits/**'
- '.github/workflows/artifacts.yml'
workflow_dispatch:

jobs:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/circuits.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Self Circuits CI/CD
name: Circuits CI
on:
push:
branches:
Expand Down Expand Up @@ -50,7 +50,7 @@ jobs:

- name: Print Circom version
run: circom --version
- name: "enable yarn"
- name: 'enable yarn'
run: corepack enable yarn
- name: Install Yarn dependencies
run: yarn workspaces focus @selfxyz/circuits
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: General Self CI
name: Common CI

on:
pull_request:
Expand Down
72 changes: 72 additions & 0 deletions .github/workflows/contracts-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
name: Circuits Build
on:
push:
branches:
- main
paths:
- 'circuits/circuits/**'
- '.github/workflows/artifacts.yml'
pull_request:
branches:
- main
paths:
- 'circuits/circuits/**'
- '.github/workflows/artifacts.yml'
workflow_dispatch:

jobs:
build:
runs-on: ['self-hosted', 'selfxyz-org', 'ubuntu-22-04', '128ram']

steps:
- name: Checkout Repository
uses: actions/checkout@v4

- name: Install cpp dependencies
run: |
sudo apt-get update
sudo apt-get install --yes \
build-essential \
libgmp-dev \
libsodium-dev \
nasm \
nlohmann-json3-dev \
wget
# TODO(): Use caching
- uses: actions/setup-node@v4
with:
node-version: 20

- name: Install dependencies
run: |
corepack enable
yarn set version 4.6.0
cd circuits && yarn
- name: Setup Rust
uses: dtolnay/rust-toolchain@stable

- name: Download Circom Binary v2.1.9
run: |
mkdir -p /home/runner/work
wget -qO /home/runner/work/circom https://github.com/iden3/circom/releases/download/v2.1.9/circom-linux-amd64
chmod +x /home/runner/work/circom
sudo mv /home/runner/work/circom /bin/circom
- name: Print Circom version
run: circom --version

- name: Build cpp circuits
run: |
chmod +x circuits/scripts/build/build_cpp.sh && \
./circuits/scripts/build/build_cpp.sh register &&
./circuits/scripts/build/build_cpp.sh register_id &&
./circuits/scripts/build/build_cpp.sh disclose &&
./circuits/scripts/build/build_cpp.sh dsc
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: circuits
path: output/
2 changes: 1 addition & 1 deletion .github/workflows/contracts.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Self Contracts CI/CD
name: Contracts CI
on:
push:
branches:
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/mobile-bundle-analysis.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: mobile-bundle-analysis
name: Mobile Bundle Analysis

env:
NODE_VERSION: 18
Expand All @@ -10,9 +10,9 @@ env:
on:
pull_request:
paths:
- "app/**"
- ".github/workflows/mobile-bundle-analysis.yml"
- ".github/actions/**"
- 'app/**'
- '.github/workflows/mobile-bundle-analysis.yml'
- '.github/actions/**'
workflow_dispatch:

jobs:
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/app.yml → .github/workflows/mobile-ci.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: App CI
name: Mobile CI
env:
# Build environment versions
NODE_VERSION: 18
Expand All @@ -10,10 +10,10 @@ env:
on:
push:
paths:
- "common/**"
- "app/**"
- ".github/workflows/app.yml"
- ".github/actions/**"
- 'common/**'
- 'app/**'
- '.github/workflows/app.yml'
- '.github/actions/**'

jobs:
lint:
Expand Down Expand Up @@ -54,7 +54,7 @@ jobs:
uses: maxim-lobanov/setup-xcode@v1
with:
# some cocoapods won't compile with xcode 16.3
xcode-version: "16.2"
xcode-version: '16.2'

- uses: actions/checkout@v4
- name: Install Mobile Dependencies
Expand Down
Loading
Loading