Files
self/.github/actions/clone-android-passport-reader/action.yml
Justin Hernandez a005bde034 [SELF-747] feat: clone android passport reader during setup (#1080)
* chore: remove android private modules doc

* private repo pull

* skip private modules

* remove unused circuits building

* save wip

* format

* restore tsconfig

* fix package install

* fix internal repo cloning

* unify logic and fix cloning

* git clone internal repos efficiently

* formatting

* run app yarn reinstall from root

* coderabbit feedback

* coderabbit suggestions

* remove skip private modules logic

* fix: ensure PAT is passed through yarn-install action and handle missing PAT gracefully

- Update yarn-install action to pass SELFXYZ_INTERNAL_REPO_PAT to yarn install
- Make setup-private-modules.cjs skip gracefully when PAT is unavailable in CI
- Fixes issue where setup script was throwing error instead of skipping for forks

* prettier

* fix clone ci

* clone ci fixes

* fix import export sorts

* fix instructions

* fix: remove SelfAppBuilder re-export to fix duplicate export error

- Remove SelfAppBuilder import/export from @selfxyz/qrcode
- Update README to import SelfAppBuilder directly from @selfxyz/common
- Fixes CI build failure with duplicate export error

* fix: unify eslint-plugin-sort-exports version across workspaces

- Update mobile-sdk-alpha from 0.8.0 to 0.9.1 to match other workspaces
- Removes yarn.lock version conflict causing CI/local behavior mismatch
- Fixes quality-checks workflow linting failure

* fix: bust qrcode SDK build cache to resolve stale SelfAppBuilder issue

- Increment GH_SDK_CACHE_VERSION from v1 to v2
- Forces CI to rebuild artifacts from scratch instead of using cached version
- Resolves quality-checks linter error showing removed SelfAppBuilder export

* skip job

* test yarn cache

* bump cache version to try and fix the issue

* revert cache version

* refactor: use direct re-exports for cleaner qrcode package structure

- Replace import-then-export pattern with direct re-exports
- Keep SelfAppBuilder export with proper alphabetical sorting (before SelfQRcode)
- Maintain API compatibility as documented in README
- Eliminates linter sorting issues while keeping clean code structure

* fix: separate type and value imports in README examples

- Import SelfApp as type since it's an interface
- Import SelfAppBuilder as value since it's a class
- Follows TypeScript best practices and improves tree shaking
2025-09-18 14:55:25 -07:00

51 lines
2.1 KiB
YAML
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
name: Clone android-passport-reader
description: "Clones the android-passport-reader repository if it does not exist"
inputs:
working_directory:
description: "Working directory path (where android/ subdirectory is located)"
required: false
default: "."
selfxyz_internal_pat:
description: "SELFXYZ internal repository PAT for private repository access"
required: false
runs:
using: "composite"
steps:
- name: Clone android-passport-reader
shell: bash
run: |
set -euo pipefail
# Check if PAT is available for private module cloning
if [ -z "${{ inputs.selfxyz_internal_pat }}" ]; then
echo "🔒 Skipping private module cloning (no PAT provided)"
echo " This is expected for forked PRs - build will continue without private modules"
exit 0
fi
cd "${{ inputs.working_directory }}"
if [ ! -d "android/android-passport-reader" ]; then
echo "📦 Cloning android-passport-reader for build..."
cd android
# Clone using PAT (embed temporarily, then scrub)
if git clone --depth 1 --quiet "https://${{ inputs.selfxyz_internal_pat }}@github.com/selfxyz/android-passport-reader.git"; then
echo "✅ android-passport-reader cloned successfully"
# Immediately scrub the credential from remote URL for security
git -C android-passport-reader remote set-url origin https://github.com/selfxyz/android-passport-reader.git || true
else
echo "❌ Failed to clone android-passport-reader"
echo "Please ensure a valid SELFXYZ internal PAT is provided to this action"
exit 1
fi
elif [ "$CI" = "true" ]; then
echo "⚠️ android-passport-reader exists in CI - this is unexpected"
echo "📁 Directory contents:"
ls -la android/android-passport-reader/ || true
else
echo "📁 android-passport-reader already exists - preserving existing directory"
echo " Local development environment detected - your changes are safe"
fi