mirror of
https://github.com/selfxyz/self.git
synced 2026-01-07 22:04:03 -05:00
* fix addhaar typo * consolidate mobile app links and add tests * fix caching issues for pipelines * fix gitleaks * update binary merkle root.circom package source * fix cache * update path * rename lockfile * fix qrcode error * fix mobile ci tests and prettier * fix qr code typing * fix qrcode pipelines * fix integration test
131 lines
4.2 KiB
YAML
131 lines
4.2 KiB
YAML
name: Mobile Bundle Analysis
|
|
|
|
env:
|
|
RUBY_VERSION: 3.2
|
|
JAVA_VERSION: 17
|
|
WORKSPACE: ${{ github.workspace }}
|
|
APP_PATH: ${{ github.workspace }}/app
|
|
|
|
on:
|
|
pull_request:
|
|
paths:
|
|
- "app/**"
|
|
- "packages/mobile-sdk-alpha/**"
|
|
- ".github/workflows/mobile-bundle-analysis.yml"
|
|
- ".github/actions/**"
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
analyze-android:
|
|
runs-on: macos-latest-large
|
|
steps:
|
|
- 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"
|
|
echo "NODE_VERSION_SANITIZED=${VERSION//\//-}" >> "$GITHUB_ENV"
|
|
- name: Use Node.js
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: ${{ env.NODE_VERSION }}
|
|
- name: Cache Yarn
|
|
uses: ./.github/actions/cache-yarn
|
|
with:
|
|
path: |
|
|
.yarn/cache
|
|
node_modules
|
|
app/node_modules
|
|
cache-version: node-${{ env.NODE_VERSION_SANITIZED }}
|
|
- name: Cache Bundler
|
|
uses: ./.github/actions/cache-bundler
|
|
with:
|
|
path: app/vendor/bundle
|
|
lock-file: app/Gemfile.lock
|
|
cache-version: ruby${{ env.RUBY_VERSION }}
|
|
- name: Cache Gradle
|
|
uses: ./.github/actions/cache-gradle
|
|
with:
|
|
path: |
|
|
~/.gradle/caches
|
|
~/.gradle/wrapper
|
|
- name: Install Mobile Dependencies
|
|
uses: ./.github/actions/mobile-setup
|
|
with:
|
|
app_path: ${{ env.APP_PATH }}
|
|
node_version: ${{ env.NODE_VERSION }}
|
|
ruby_version: ${{ env.RUBY_VERSION }}
|
|
workspace: ${{ env.WORKSPACE }}
|
|
env:
|
|
SELFXYZ_INTERNAL_REPO_PAT: ${{ secrets.SELFXYZ_INTERNAL_REPO_PAT }}
|
|
- name: Build dependencies
|
|
shell: bash
|
|
run: yarn workspace @selfxyz/common build
|
|
- name: Run Android analysis
|
|
run: yarn analyze:bundle:android
|
|
working-directory: ./app
|
|
|
|
analyze-ios:
|
|
runs-on: macos-latest-large
|
|
steps:
|
|
- 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"
|
|
echo "NODE_VERSION_SANITIZED=${VERSION//\//-}" >> "$GITHUB_ENV"
|
|
- name: Use Node.js
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: ${{ env.NODE_VERSION }}
|
|
- name: Cache Yarn
|
|
uses: ./.github/actions/cache-yarn
|
|
with:
|
|
path: |
|
|
.yarn/cache
|
|
node_modules
|
|
app/node_modules
|
|
cache-version: node-${{ env.NODE_VERSION_SANITIZED }}
|
|
- name: Cache Bundler
|
|
uses: ./.github/actions/cache-bundler
|
|
with:
|
|
path: app/vendor/bundle
|
|
lock-file: app/Gemfile.lock
|
|
cache-version: ruby${{ env.RUBY_VERSION }}
|
|
- name: Cache CocoaPods
|
|
uses: ./.github/actions/cache-pods
|
|
with:
|
|
path: app/ios/Pods
|
|
lock-file: app/ios/Podfile.lock
|
|
- name: Install Mobile Dependencies
|
|
uses: ./.github/actions/mobile-setup
|
|
with:
|
|
app_path: ${{ env.APP_PATH }}
|
|
node_version: ${{ env.NODE_VERSION }}
|
|
ruby_version: ${{ env.RUBY_VERSION }}
|
|
workspace: ${{ env.WORKSPACE }}
|
|
env:
|
|
SELFXYZ_INTERNAL_REPO_PAT: ${{ secrets.SELFXYZ_INTERNAL_REPO_PAT }}
|
|
- name: Build dependencies
|
|
shell: bash
|
|
run: yarn workspace @selfxyz/common build
|
|
- name: Run iOS analysis
|
|
run: yarn analyze:bundle:ios
|
|
working-directory: ./app
|