chore(deps): update dependency react-native-permissions to v5.5.1 #3151
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: Formulus Android & Formplayer Assets | |
| on: | |
| push: | |
| branches: | |
| - main | |
| - dev | |
| paths: | |
| - 'formulus/**' | |
| - 'formulus-formplayer/**' | |
| - 'packages/tokens/**' | |
| - 'packages/components/**' | |
| - '.github/workflows/formulus-android.yml' | |
| pull_request: | |
| paths: | |
| - 'formulus/**' | |
| - 'formulus-formplayer/**' | |
| - 'packages/tokens/**' | |
| - 'packages/components/**' | |
| - '.github/workflows/formulus-android.yml' | |
| release: | |
| types: [published] | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| env: | |
| NODE_VERSION: '24' | |
| jobs: | |
| build-formplayer-assets: | |
| name: Build Formplayer Assets | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Set up Node.js for assets | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: ${{ env.NODE_VERSION }} | |
| cache: 'npm' | |
| cache-dependency-path: | | |
| formulus-formplayer/package-lock.json | |
| packages/tokens/package-lock.json | |
| - name: Install and build @ode/tokens | |
| working-directory: packages/tokens | |
| run: | | |
| npm install | |
| npm run build | |
| - name: Install formplayer dependencies | |
| working-directory: formulus-formplayer | |
| run: npm ci | |
| - name: Build and bundle formplayer | |
| working-directory: formulus-formplayer | |
| run: npm run build:rn | |
| - name: Upload formplayer assets artifact | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: formplayer-assets | |
| path: formulus/android/app/src/main/assets/formplayer_dist | |
| retention-days: 7 | |
| build-android: | |
| name: Build Formulus Android APK | |
| runs-on: ubuntu-latest | |
| needs: build-formplayer-assets | |
| permissions: | |
| contents: write | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Download formplayer assets artifact | |
| uses: actions/download-artifact@v7 | |
| with: | |
| name: formplayer-assets | |
| path: formulus/android/app/src/main/assets/formplayer_dist | |
| - name: Set up Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: ${{ env.NODE_VERSION }} | |
| cache: 'npm' | |
| cache-dependency-path: | | |
| formulus/package-lock.json | |
| formulus/package.json | |
| formulus-formplayer/package-lock.json | |
| formulus-formplayer/package.json | |
| packages/tokens/package-lock.json | |
| packages/tokens/package.json | |
| packages/components/package-lock.json | |
| packages/components/package.json | |
| - name: Install and build @ode/tokens | |
| working-directory: packages/tokens | |
| run: | | |
| npm install | |
| npm run build | |
| - name: Install @ode/components dependencies | |
| working-directory: packages/components | |
| run: npm install | |
| - name: Install npm dependencies (formulus) | |
| working-directory: formulus | |
| run: npm ci | |
| - name: Vendor Notifee Android core (source build; dir is gitignored) | |
| working-directory: formulus | |
| run: npm run vendor:notifee | |
| - name: Set up Java | |
| uses: actions/setup-java@v4 | |
| with: | |
| distribution: 'temurin' | |
| java-version: '17' | |
| cache: 'gradle' | |
| - name: Make Gradle wrapper executable | |
| working-directory: formulus/android | |
| run: chmod +x ./gradlew | |
| - name: Prepare Android signing (non-PR) | |
| if: github.event_name != 'pull_request' | |
| env: | |
| FORMULUS_RELEASE_KEYSTORE_B64: ${{ secrets.FORMULUS_RELEASE_KEYSTORE_B64 }} | |
| FORMULUS_RELEASE_STORE_PASSWORD: ${{ secrets.FORMULUS_RELEASE_STORE_PASSWORD }} | |
| FORMULUS_RELEASE_KEY_ALIAS: ${{ secrets.FORMULUS_RELEASE_KEY_ALIAS }} | |
| FORMULUS_RELEASE_KEY_PASSWORD: ${{ secrets.FORMULUS_RELEASE_KEY_PASSWORD }} | |
| run: | | |
| set -e | |
| mkdir -p formulus/android/keystores | |
| if [ -z "$FORMULUS_RELEASE_KEYSTORE_B64" ]; then | |
| echo "FORMULUS_RELEASE_KEYSTORE_B64 is not set. Failing to avoid unsigned release builds." | |
| exit 1 | |
| fi | |
| echo "$FORMULUS_RELEASE_KEYSTORE_B64" | base64 -d > formulus/android/keystores/formulus-signing.jks | |
| # Generate local.properties for release signing | |
| echo "FORMULUS_RELEASE_STORE_FILE=keystores/formulus-signing.jks" > formulus/android/local.properties | |
| echo "FORMULUS_RELEASE_STORE_PASSWORD=${FORMULUS_RELEASE_STORE_PASSWORD}" >> formulus/android/local.properties | |
| echo "FORMULUS_RELEASE_KEY_ALIAS=${FORMULUS_RELEASE_KEY_ALIAS}" >> formulus/android/local.properties | |
| echo "FORMULUS_RELEASE_KEY_PASSWORD=${FORMULUS_RELEASE_KEY_PASSWORD}" >> formulus/android/local.properties | |
| - name: Build debug APK (PR) | |
| if: github.event_name == 'pull_request' | |
| working-directory: formulus/android | |
| run: ./gradlew assembleDebug --no-daemon | |
| - name: Build release APK (main/dev/release) | |
| if: github.event_name != 'pull_request' | |
| working-directory: formulus/android | |
| run: ./gradlew assembleRelease --no-daemon | |
| - name: Upload APK artifact | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: formulus-android-apk-${{ github.event_name }}-${{ github.run_id }} | |
| path: | | |
| formulus/android/app/build/outputs/apk/**/**/*.apk | |
| - name: Upload APK to GitHub Release | |
| if: github.event_name == 'release' | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| files: | | |
| formulus/android/app/build/outputs/apk/**/**/*.apk | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |