chore(deps): bump the patch-updates group with 6 updates #7506
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: build | |
| on: | |
| pull_request: | |
| branches: [main] | |
| permissions: | |
| contents: read | |
| jobs: | |
| changes: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 5 | |
| outputs: | |
| app_changed: ${{ steps.changed-files.outputs.app_changed }} | |
| ios_changed: ${{ steps.changed-files.outputs.ios_changed }} | |
| steps: | |
| - uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: 0 | |
| - name: Check changed files | |
| id: changed-files | |
| env: | |
| BASE_SHA: ${{ github.event.pull_request.base.sha }} | |
| HEAD_SHA: ${{ github.event.pull_request.head.sha }} | |
| run: | | |
| changed_files="$(git diff --name-only "$BASE_SHA" "$HEAD_SHA")" | |
| app_changed=false | |
| ios_changed=false | |
| while IFS= read -r file; do | |
| [ -n "$file" ] || continue | |
| case "$file" in | |
| .github/*|.omni/*) ;; | |
| package-lock.json) app_changed=true ;; | |
| *) | |
| app_changed=true | |
| ios_changed=true | |
| ;; | |
| esac | |
| done <<EOF | |
| $changed_files | |
| EOF | |
| echo "app_changed=$app_changed" >> "$GITHUB_OUTPUT" | |
| echo "ios_changed=$ios_changed" >> "$GITHUB_OUTPUT" | |
| android: | |
| needs: changes | |
| if: needs.changes.outputs.app_changed == 'true' | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 60 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Use Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: '22' | |
| - name: Install Ionic CLI | |
| run: npm install -g @ionic/cli | |
| - name: Normalize Dependabot package lock | |
| if: github.event.pull_request.user.login == 'dependabot[bot]' | |
| run: npm install --package-lock-only --ignore-scripts | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Build Ionic | |
| env: | |
| NUMBERS_STORAGE_BASE_URL: ${{ secrets.NUMBERS_STORAGE_BASE_URL }} | |
| NUMBERS_STORAGE_TRUSTED_CLIENT_KEY: ${{ secrets.NUMBERS_STORAGE_TRUSTED_CLIENT_KEY }} | |
| NUMBERS_BUBBLE_DB_URL: ${{ secrets.NUMBERS_BUBBLE_DB_URL }} | |
| NUMBERS_BUBBLE_IFRAME_URL: ${{ secrets.NUMBERS_BUBBLE_IFRAME_URL }} | |
| BUBBLE_API_URL: ${{ secrets.BUBBLE_API_URL }} | |
| APPS_FLYER_DEV_KEY: ${{ secrets.APPS_FLYER_DEV_KEY }} | |
| GOOGLE_IOS_CLIENT_ID: ${{ secrets.GOOGLE_IOS_CLIENT_ID }} | |
| GOOGLE_WEB_CLIENT_ID: ${{ secrets.GOOGLE_WEB_CLIENT_ID }} | |
| run: npm run build | |
| - name: Set up JDK 21 | |
| uses: actions/setup-java@v5 | |
| with: | |
| distribution: 'temurin' # https://github.com/actions/setup-java#supported-distributions | |
| java-version: '21' | |
| - name: Build Android | |
| run: | | |
| npx cap sync android | |
| cd android/ | |
| ./gradlew assembleDebug | |
| ios: | |
| needs: changes | |
| runs-on: macos-26 | |
| timeout-minutes: 60 | |
| if: needs.changes.outputs.ios_changed == 'true' && github.actor != 'dependabot[bot]' && github.event.pull_request.user.login != 'dependabot[bot]' | |
| permissions: | |
| contents: write | |
| steps: | |
| - uses: actions/checkout@v6 | |
| with: | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Setup Xcode | |
| uses: maxim-lobanov/setup-xcode@v1 | |
| with: | |
| xcode-version: '26.2' | |
| - name: Use Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: '22' | |
| - name: Setup Python | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: '3.11' | |
| - name: Install Ionic CLI | |
| run: npm install -g @ionic/cli | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Build Ionic | |
| env: | |
| NUMBERS_STORAGE_BASE_URL: ${{ secrets.NUMBERS_STORAGE_BASE_URL }} | |
| NUMBERS_STORAGE_TRUSTED_CLIENT_KEY: ${{ secrets.NUMBERS_STORAGE_TRUSTED_CLIENT_KEY }} | |
| NUMBERS_BUBBLE_DB_URL: ${{ secrets.NUMBERS_BUBBLE_DB_URL }} | |
| NUMBERS_BUBBLE_IFRAME_URL: ${{ secrets.NUMBERS_BUBBLE_IFRAME_URL }} | |
| BUBBLE_API_URL: ${{ secrets.BUBBLE_API_URL }} | |
| APPS_FLYER_DEV_KEY: ${{ secrets.APPS_FLYER_DEV_KEY }} | |
| GOOGLE_IOS_CLIENT_ID: ${{ secrets.GOOGLE_IOS_CLIENT_ID }} | |
| GOOGLE_WEB_CLIENT_ID: ${{ secrets.GOOGLE_WEB_CLIENT_ID }} | |
| run: npm run build | |
| - name: Import the Code-Signing PKCS12 Certificate | |
| uses: apple-actions/import-codesign-certs@v7 | |
| with: | |
| p12-file-base64: ${{ secrets.CERTIFICATES_P12 }} | |
| p12-password: ${{ secrets.CERTIFICATES_P12_PASSWORD }} | |
| - name: Download provisioning profiles | |
| uses: Apple-Actions/download-provisioning-profiles@v6 | |
| with: | |
| bundle-id: io.numbersprotocol.capturelite | |
| profile-type: 'IOS_APP_STORE' | |
| issuer-id: ${{ secrets.APPSTORE_ISSUER_ID }} | |
| api-key-id: ${{ secrets.APPSTORE_KEY_ID }} | |
| api-private-key: ${{ secrets.APPSTORE_PRIVATE_KEY }} | |
| - name: Build iOS | |
| env: | |
| GOOGLE_IOS_URL_SCHEME: ${{ secrets.GOOGLE_IOS_URL_SCHEME }} | |
| run: | | |
| sed -i '' "s/\$(GOOGLE_IOS_URL_SCHEME)/${GOOGLE_IOS_URL_SCHEME}/g" ios/App/App/info.plist | |
| npx cap sync ios | |
| xcodebuild -resolvePackageDependencies -project ios/App/App.xcodeproj -scheme App | |
| xcodebuild archive -project ios/App/App.xcodeproj -scheme App -sdk iphoneos -configuration Debug -archivePath build/App.xcarchive -showBuildTimingSummary -allowProvisioningUpdates archive |