diff --git a/.github/workflows/dataconnect.yml b/.github/workflows/dataconnect.yml index 038145c897e..543425ab14a 100644 --- a/.github/workflows/dataconnect.yml +++ b/.github/workflows/dataconnect.yml @@ -25,7 +25,7 @@ env: FDC_JAVA_VERSION: ${{ inputs.javaVersion || '17' }} FDC_ANDROID_EMULATOR_API_LEVEL: ${{ inputs.androidEmulatorApiLevel || '34' }} FDC_NODEJS_VERSION: ${{ inputs.nodeJsVersion || '20' }} - FDC_FIREBASE_TOOLS_VERSION: ${{ inputs.firebaseToolsVersion || '13.29.1' }} + FDC_FIREBASE_TOOLS_VERSION: ${{ inputs.firebaseToolsVersion || '14.2.0' }} FDC_FIREBASE_TOOLS_DIR: /tmp/firebase-tools FDC_FIREBASE_COMMAND: /tmp/firebase-tools/node_modules/.bin/firebase FDC_PYTHON_VERSION: ${{ inputs.pythonVersion || '3.13' }} @@ -76,7 +76,6 @@ jobs: npm install --fund=false --audit=false --save --save-exact firebase-tools@${{ env.FDC_FIREBASE_TOOLS_VERSION }} - name: Restore Gradle Cache - id: restore-gradle-cache uses: actions/cache/restore@d4323d4df104b026a6aa633fdb11d772146be0bf # 4.2.2 if: github.event_name != 'schedule' with: @@ -172,43 +171,28 @@ jobs: ~/.android/adb* key: avd-cache-zhdsn586je-api${{ env.FDC_ANDROID_EMULATOR_API_LEVEL }}-${{ github.run_id }} - - name: Data Connect Emulator Start - id: data-connect-emulator + - name: Start Firebase Emulators run: | - set -euo pipefail - set -xv - - echo 'emulator.postgresConnectionUrl=postgresql://postgres:password@127.0.0.1:5432?sslmode=disable' > firebase-dataconnect/dataconnect.local.properties - - ./gradlew \ - ${{ (inputs.gradleInfoLog && '--info') || '' }} \ - :firebase-dataconnect:connectors:runDebugDataConnectEmulator \ - >firebase.emulator.dataconnect.log 2>&1 & - - echo "FIREBASE_DATA_CONNECT_EMULATOR_PID=$!" >> "$GITHUB_ENV" + set -xveuo pipefail - - name: Firebase Auth Emulator Start - id: firebase-auth-emulator - run: | - set -euo pipefail - set -xv + # Use the same dataconnect binary as was used for code generation in gradle assemble + DATACONNECT_EMULATOR_BINARY_PATH="$(find "$PWD"/firebase-dataconnect/connectors/build/intermediates/dataconnect/debug/executable -type f)" + if [[ -z $DATACONNECT_EMULATOR_BINARY_PATH ]] ; then + echo "INTERNAL ERROR v7kg2dfhbc: unable to find data connect binary" >&2 + exit 1 + fi + export DATACONNECT_EMULATOR_BINARY_PATH + export FIREBASE_DATACONNECT_POSTGRESQL_STRING='postgresql://postgres:password@127.0.0.1:5432?sslmode=disable' cd firebase-dataconnect/emulator - ${{ env.FDC_FIREBASE_COMMAND }} emulators:start --only=auth >firebase.emulator.auth.log 2>&1 & + ${{ env.FDC_FIREBASE_COMMAND }} emulators:start --only=auth,dataconnect >firebase.emulators.log 2>&1 & - echo "FIREBASE_AUTH_EMULATOR_PID=$!" >> "$GITHUB_ENV" - - - name: Logcat Log Capture Start - id: logcat-capture + - name: Start Logcat Capture continue-on-error: true run: | - set -euo pipefail - set -xv - + set -xveuo pipefail "$ANDROID_HOME/platform-tools/adb" logcat >logcat.log 2>&1 & - echo "LOGCAT_PID=$!" >> "$GITHUB_ENV" - - name: Gradle connectedCheck id: connectedCheck uses: reactivecircus/android-emulator-runner@62dbb605bba737720e10b196cb4220d374026a6d #v2.33.0 @@ -360,7 +344,6 @@ jobs: run: echo '${{ secrets.GITHUB_TOKEN }}' | gh auth login --with-token - name: Create Job Results File - id: create-job-results-file run: | set -xveuo pipefail cat >'${{ runner.temp }}/job_results.txt' <