chore(deps): update dependency baseline-browser-mapping to ^2.11.13 #4218
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/**' | |
| - 'packages/observation-query/**' | |
| - '.github/workflows/formulus-android.yml' | |
| pull_request: | |
| paths: | |
| - 'formulus/**' | |
| - 'formulus-formplayer/**' | |
| - 'packages/tokens/**' | |
| - 'packages/components/**' | |
| - 'packages/observation-query/**' | |
| - '.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@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4 | |
| with: | |
| version: 10.33.2 | |
| - name: Set up Node.js for assets | |
| uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4 | |
| with: | |
| node-version: ${{ env.NODE_VERSION }} | |
| cache: pnpm | |
| cache-dependency-path: formulus-formplayer/pnpm-lock.yaml | |
| - name: Install and build @ode/tokens | |
| working-directory: packages/tokens | |
| run: | | |
| pnpm install --frozen-lockfile | |
| pnpm run build | |
| - name: Install formplayer dependencies | |
| working-directory: formulus-formplayer | |
| run: pnpm install --frozen-lockfile | |
| - name: Build and bundle formplayer | |
| working-directory: formulus-formplayer | |
| run: pnpm run build:copy | |
| - name: Upload formplayer assets artifact | |
| uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6 | |
| with: | |
| name: formplayer-assets | |
| path: formulus/android/app/src/main/assets/formplayer_dist | |
| retention-days: 7 | |
| build-android: | |
| name: Build Formulus Android | |
| runs-on: ubuntu-latest | |
| needs: build-formplayer-assets | |
| permissions: | |
| contents: write | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 | |
| - name: Download formplayer assets artifact | |
| uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7 | |
| with: | |
| name: formplayer-assets | |
| path: formulus/android/app/src/main/assets/formplayer_dist | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4 | |
| with: | |
| version: 10.33.2 | |
| - name: Set up Node.js | |
| uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4 | |
| with: | |
| node-version: ${{ env.NODE_VERSION }} | |
| cache: pnpm | |
| cache-dependency-path: formulus/pnpm-lock.yaml | |
| - name: Install and build @ode/tokens | |
| working-directory: packages/tokens | |
| run: | | |
| pnpm install --frozen-lockfile | |
| pnpm run build | |
| - name: Install @ode/components dependencies | |
| working-directory: packages/components | |
| run: pnpm install --frozen-lockfile | |
| - name: Install dependencies (formulus) | |
| working-directory: formulus | |
| run: pnpm install --frozen-lockfile | |
| - name: Vendor Notifee Android core (source build; dir is gitignored) | |
| working-directory: formulus | |
| run: pnpm run vendor:notifee | |
| - name: Apply FOSS Android patches (match F-Droid init) | |
| if: github.event_name != 'pull_request' | |
| working-directory: formulus | |
| run: pnpm run patch:android-foss | |
| - name: Generate injection script (match F-Droid init) | |
| if: github.event_name != 'pull_request' | |
| working-directory: formulus | |
| run: pnpm run generate | |
| - name: Set up Java | |
| uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # 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: Build release AAB for Play Store (main/dev/release) | |
| if: github.event_name != 'pull_request' | |
| working-directory: formulus/android | |
| run: ./gradlew bundleRelease --no-daemon | |
| - name: Upload APK artifact | |
| uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6 | |
| with: | |
| name: formulus-android-apk-${{ github.event_name }}-${{ github.run_id }} | |
| path: | | |
| formulus/android/app/build/outputs/apk/**/**/*.apk | |
| - name: Upload AAB artifact | |
| if: github.event_name != 'pull_request' | |
| uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6 | |
| with: | |
| name: formulus-android-aab-${{ github.event_name }}-${{ github.run_id }} | |
| path: | | |
| formulus/android/app/build/outputs/bundle/release/*.aab | |
| - name: Upload APK to GitHub Release | |
| if: github.event_name == 'release' | |
| uses: softprops/action-gh-release@3bb12739c298aeb8a4eeaf626c5b8d85266b0e65 # v2 | |
| with: | |
| files: | | |
| formulus/android/app/build/outputs/apk/**/**/*.apk | |
| formulus/android/app/build/outputs/bundle/release/*.aab | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |