Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
169 commits
Select commit Hold shift + click to select a range
a68cdf3
dataconnect: add gradle plugin that enables sharing code from src/tes…
dconeybe May 6, 2026
81d9a1c
dataconnect(test): ConnectRPCIntegrationTest.kt: add more tests (#8102)
dconeybe May 6, 2026
b53a55c
dataconnect(test): ConnectRPCIntegrationTest.kt: add some more tests …
dconeybe May 7, 2026
217ee5a
[AppDistro] Disable automatic integration test execution with check t…
rlazo May 8, 2026
10761f6
dataconnect: ci: upgrade data connect emulator to 3.4.9 (was 3.4.5) a…
dconeybe May 8, 2026
1525d24
dataconnect(test): ConnectRPCIntegrationTest.kt finished (#8113)
dconeybe May 8, 2026
cce9898
Update App Distribution integration test latest gradle version logic …
rebehe May 8, 2026
5f409d9
Update appdistro prod test versions of AGP and gradle (#8122)
rebehe May 8, 2026
75897b6
Update appdistro github workflow to run integration tests on appdistr…
rebehe May 11, 2026
7fdcceb
dataconnect(chore): DataConnectGrpcRPCs.kt: fix wasteful conversion t…
dconeybe May 11, 2026
d4a1a62
dataconnect(chore): DataConnectGrpcRPCs.kt: take connectorResourceNam…
dconeybe May 11, 2026
d1dfe15
dataconnect(test): RandomSeedTestRule: add seeded constructor, and im…
dconeybe May 11, 2026
e2f733d
dataconnect(build): fix CopySharedWithAndroidTestFiles.kt to delete t…
dconeybe May 11, 2026
79ea0a0
[Infra] Bump actions/upload-artifact to v7.0.1 (#8137)
rlazo May 11, 2026
5248504
dataconnect(test): ConnectRPCIntegrationTest.kt: fix flaky tests due …
dconeybe May 11, 2026
c6f1521
dataconnect(chore): CoroutineUtils.kt added with function createSuper…
dconeybe May 11, 2026
b965293
m180 mergeback (#8124)
google-oss-bot May 11, 2026
ced2ffc
dataconnect(test): DataConnectGrpcClientUnitTest.kt: fix flaky tests …
dconeybe May 11, 2026
ab34a82
dataconnect(chore): env.zsh added (#8138)
dconeybe May 11, 2026
2e2d42e
dataconnect: fix CHANGELOG entries incorrectly moved to 17.2.2 header…
dconeybe May 11, 2026
521dbc5
[Crashlytics] Updating instrumented tests set up to avoid building er…
OOS93 May 11, 2026
aefbed1
[Infra] Update postReleaseCleanup to support execution from main bran…
rlazo May 12, 2026
ce2ceac
[ALF] Add index adjustment for UTF-8 indices (#8056)
emilypgoogle May 12, 2026
651dcb0
build(deps): bump @protobufjs/utf8 from 1.1.0 to 1.1.1 in /smoke-test…
dependabot[bot] May 12, 2026
4cdd432
build(deps): bump fast-xml-parser from 5.5.9 to 5.7.1 in /smoke-tests…
dependabot[bot] May 12, 2026
01c6076
build(deps): bump fast-xml-builder (#8152)
rlazo May 12, 2026
5981a99
dataconnect(change): Added internal logic: DataConnectGrpcRPCs.connec…
dconeybe May 12, 2026
a214af0
dataconnect(chore): refactor variable encoding and data decoding logi…
dconeybe May 12, 2026
f9817b0
dataconnect(ci): downgrade fdc emulator version to 3.4.7 (was 3.4.9) …
dconeybe May 12, 2026
c97fcf5
dataconnect(chore): wire up RealtimeQuerySubscriptionImpl to basic re…
dconeybe May 13, 2026
ef12004
dataconnect(chore): factor out repeated logic for creating CoroutineS…
dconeybe May 13, 2026
9f88524
dataconnect(change): Replace `SecureRandom` with process-unique ID ge…
dconeybe May 13, 2026
0807bfb
dataconnect(test): TurbineUtils.kt: minor tweaks (#8156)
dconeybe May 13, 2026
1dfa16a
Use String.format in cases where firebase-vendor plugin transforms ha…
lfkellogg May 14, 2026
de74730
Prevent R8 to strip out `RequireBuildId` boolean resource (#8145)
SimonMarquis May 14, 2026
711698a
dataconnect: ci: upgrade data connect emulator to 3.4.8 (was 3.4.7) a…
dconeybe May 14, 2026
b63eda2
Update CHANGELOG.md for firebase-appdistribution-api (#8161)
lfkellogg May 14, 2026
bb58ac1
dataconnect(chore): RealtimeQueryManager.kt added with basic logic to…
dconeybe May 15, 2026
87bbe13
Adjust AI Logic testing for model deprecation (#8140)
emilypgoogle May 15, 2026
ea119c9
chore(firestore): rename named-db log file to enterprise (#8050)
wu-hui May 19, 2026
68f7815
m180_1 mergeback (#8181)
google-oss-bot May 19, 2026
83da1bb
dataconnect(chore): rewrite bidirectional gRPC connection to use a cu…
dconeybe May 19, 2026
698a341
dataconnect(chore): test_execute.zsh added, to easily run tests by na…
dconeybe May 19, 2026
c786a42
dataconnect(chore): improve test_execute.zsh with auto-suffix fallbac…
dconeybe May 19, 2026
f5b1aba
dataconnect(chore): Refactor realtime queries to use SharedFlow featu…
dconeybe May 20, 2026
d822416
automate version validation with prod test suite (#8015)
MaesterChestnut May 20, 2026
eea8178
dataconnect(feat): realtime query subscriptions (#8186)
dconeybe May 20, 2026
13eb0f6
dataconnect(chore): convert gemini-cli commands to agent "skills" (#8…
dconeybe May 20, 2026
6506939
Never cache integration and prod tests; always run them so that we do…
MaesterChestnut May 20, 2026
1476cf7
Create issue when FAD compatibility tests fail on main so oncall can …
MaesterChestnut May 21, 2026
b61c8cf
dataconnect(docs): QueryRef/QuerySubscription: kdoc improvements, esp…
dconeybe May 21, 2026
1ac16c8
Add missing construction to TemplateTool that is present in Tool (#8188)
emilypgoogle May 21, 2026
f343cd9
dataconnect(ci): move firebase-tools version out of the yml workflow …
dconeybe May 21, 2026
85ee4b4
dataconnect(chore): Create AuthUid value class to add some type safet…
dconeybe May 22, 2026
04b667c
dataconnect(ci): dataconnect.yml: forgot to include `zshellcheck` job…
dconeybe May 22, 2026
642859b
dataconnect(ci): upgrade nodejs version in github actions to 24 (was …
dconeybe May 22, 2026
f5245c1
build(deps): bump protobufjs from 7.5.4 to 7.6.0 in /smoke-tests/src/…
dependabot[bot] May 22, 2026
f2dc873
[AppCheck] Add getLimitedUseToken support to AppCheckProvider (#8204)
rlazo May 25, 2026
2f96bb3
Fix labels (#8210)
kaibolay May 26, 2026
db94adb
fix(common): Resolve thread deadlock in HeartBeatInfoStorage (#8182)
milaGGL May 26, 2026
8f09227
Create GitHub issue on all failures (#8212)
kaibolay May 26, 2026
c7094fa
dataconnect(chore): Add QueryId value type and use it instead of pass…
dconeybe May 26, 2026
e313666
dataconnect(fix): CACHE_ONLY was incorrectly ignored when cache was n…
dconeybe May 26, 2026
83d0dda
dataconnect(chore): refactor cache database management logic out of n…
dconeybe May 27, 2026
de675d9
Add Gemini 3.5 flash models to testing (#8213)
emilypgoogle May 27, 2026
e79be64
dataconnect(chore): headless_android_emulator_run.zsh: pass args afte…
dconeybe May 27, 2026
217bd35
build(deps): bump lodash from 4.17.23 to 4.18.1 in /smoke-tests/src/a…
dependabot[bot] May 27, 2026
4df9f37
feat(firestore): Embed pipeline and expression documentation stubs as…
wu-hui May 27, 2026
87b6032
Add reCAPTCHA site key support to FirebaseOptions (#8216)
rlazo May 27, 2026
d09782d
build(deps): bump @tootallnate/once from 2.0.0 to 2.0.1 in /smoke-tes…
dependabot[bot] May 27, 2026
a9bc87d
build(deps): bump qs and express in /smoke-tests/src/androidTest/back…
dependabot[bot] May 27, 2026
b4f9eb7
build(deps): bump addressable from 2.8.7 to 2.9.0 in /ci/danger (#8022)
dependabot[bot] May 27, 2026
b1389d6
build(deps): bump com.google.protobuf from 0.9.4 to 0.9.6 (#7817)
dependabot[bot] May 27, 2026
9b6e08e
build(deps): bump path-to-regexp from 0.1.12 to 0.1.13 in /smoke-test…
dependabot[bot] May 28, 2026
599b229
[AppCheck] Recaptcha: use site key from FirebaseOptions (#8221)
rlazo May 28, 2026
901a57d
build(deps): bump brace-expansion in /smoke-tests/src/androidTest/bac…
dependabot[bot] May 28, 2026
df09c49
[AppCheck] Rename reCAPTCHA App Check provider (#8224)
rlazo May 28, 2026
dbb523f
dataconnect(feat): Realtime query results now update the local cache …
dconeybe May 28, 2026
2fd9dc6
dataconnect(chore): add `last_update_sequence_number` to cache db (#8…
dconeybe May 28, 2026
4c914b4
[AppCheck] Revert changed key in ExchangeRecaptchaTokenRequest (#8230)
rlazo May 28, 2026
97f53c9
Fix some lint issues in firebase-appdistribution/test-app (#8234)
lfkellogg May 29, 2026
82e036a
Make app-distribution InstallActivity exported=false and validate inp…
lfkellogg May 29, 2026
c80152f
dataconnect(docs): Fix BoM version noted in the docs for when realtim…
dconeybe May 30, 2026
daadb6e
m181 mergeback (#8235)
google-oss-bot Jun 1, 2026
1589cf5
dataconnect(chore): realtime refactor in preparation for deduplicatin…
dconeybe Jun 1, 2026
31ca8b7
[AI] Update App Check dependencies in firebase-ai (#8225)
rlazo Jun 1, 2026
38b4128
Add support for WIF and ADC in App Distribution Gradle Plugin (#8218)
lfkellogg Jun 2, 2026
177d18d
Bump firebase-appdistribution-gradle version to 5.2.2 (#8244)
lfkellogg Jun 2, 2026
f5ea434
Bump firebase-appdistribution-gradle minor version (#8245)
lfkellogg Jun 2, 2026
f23afff
Fix fidchangelistener behavior (#8193)
eldhosembabu Jun 2, 2026
232c864
[AI] Return `retrievalConfig` entry to the right changelog section (#…
rlazo Jun 3, 2026
eba9913
Add unit test for global custom attributes (#8228)
jrodiz Jun 3, 2026
dcbe69c
Move constants for oldest and latest Gradle/AGP/... versions from `Up…
kaibolay Jun 3, 2026
3c1273b
dataconnect: fix CHANGELOG entries incorrectly moved to 17.3.0 header…
dconeybe Jun 3, 2026
074c246
[Infra] Ignore IntelliJ/AndroidStudio "Run" configuration (#8254)
kaibolay Jun 4, 2026
a1a58a7
dataconnect(chore) more refactoring in preparating for realtime query…
dconeybe Jun 4, 2026
1101aa4
dataconnect(fix): Fix duplicate cache/server events from QuerySubscri…
dconeybe Jun 4, 2026
7896bde
Use `TestParameterInjector` to test various version combinations (#8257)
kaibolay Jun 4, 2026
6914dc7
Disable integration test checks temporarily (#8248)
cherylEnkidu Jun 5, 2026
316a329
Add resultsBucket option to appDistributionUpload (#8265)
lfkellogg Jun 5, 2026
35a4f1b
dataconnect: ci: upgrade data connect emulator to 3.4.10 (was 3.4.8) …
dconeybe Jun 5, 2026
c7daa5d
Show user localized error messages and remove special 404 handling (#…
lfkellogg Jun 8, 2026
b42dd32
Restrict issue creation for app distro gradle compat tests to daily c…
MaesterChestnut Jun 8, 2026
78648e6
build(deps): bump node-forge from 1.3.2 to 1.4.0 in /smoke-tests/src/…
dependabot[bot] Jun 8, 2026
9bc5631
build(deps): bump faraday from 2.14.1 to 2.14.2 in /ci/danger (#8177)
dependabot[bot] Jun 8, 2026
eb643b8
[AppCheck] Promote Firebase App Check Recaptcha to GA (#8275)
rlazo Jun 8, 2026
8e331cb
dataconnect(chore): add `token` StateFlow to observe token changes (#…
dconeybe Jun 8, 2026
36b3e5b
feat(firestore): added minimum and maximum FieldValue operations (#8101)
MarkDuckworth Jun 9, 2026
21831fd
Add model version to GenerateContent Output (#8227)
VinayGuthal Jun 9, 2026
3f01b02
FCM V1 API Migration initial commit. (#8087)
eldhosembabu Jun 9, 2026
8ec2f39
[AI] Support SpeechConfig in Text-To-Speech (#8100)
milaGGL Jun 9, 2026
b5a94cb
health-metrics.yml: do not trigger health checks when changes are exc…
dconeybe Jun 10, 2026
6161b29
dataconnect(fix): refresh auth token during realtime query subscripti…
dconeybe Jun 10, 2026
ac043fd
Add support for cancelled tests (#8241)
emilypgoogle Jun 10, 2026
df801c8
Add ChangeLog for release (AILogicOndeviceinterop and messaging direc…
VinayGuthal Jun 10, 2026
e35fb65
[AI] Revert dependency change on appcheck-interop (#8286)
rlazo Jun 10, 2026
5886da2
Add Change log for appcheck (#8287)
VinayGuthal Jun 10, 2026
0d5bf81
dataconnect(fix): Throw exception when AuthUid changes in realtime qu…
dconeybe Jun 10, 2026
ff39625
Adding check for requireBuildId using latest package nomenclature. (#…
OOS93 Jun 11, 2026
173c330
Crashlytics NDK upload doesn't cleanup previous run's intermediate fi…
OOS93 Jun 11, 2026
1e593b1
[Infra] Refactor release branch creation and add step dependency (#8277)
rlazo Jun 11, 2026
77eb951
Version update to 25.1.0 (#8293)
eldhosembabu Jun 11, 2026
ae3bd5b
build(deps): bump @grpc/grpc-js from 1.14.3 to 1.14.4 in /smoke-tests…
dependabot[bot] Jun 11, 2026
414271b
build(deps): bump pytest from 8.3.5 to 9.0.3 in /firebase-dataconnect…
dependabot[bot] Jun 11, 2026
be71901
dataconnect(test): QuerySubscriptionImplUnitTest.kt: add test: `flow …
dconeybe Jun 12, 2026
f9800d1
dataconnect: ci: upgrade data connect emulator to 3.4.11 (was 3.4.10)…
dconeybe Jun 12, 2026
a6be20e
[Infra] Migrate AI daily tests to Firebase TestLab (#8292)
rlazo Jun 12, 2026
20ec6fb
[AppCheck] Bump Firebase App Check version to 19.2.0 (#8295)
rlazo Jun 12, 2026
e628cfc
Add javadocs to recaptcha (#8296)
VinayGuthal Jun 12, 2026
feaae64
[AppCheck] Fix reCAPTCHA refdoc (#8297)
VinayGuthal Jun 12, 2026
2e4da0b
Update changelogs and gradle file to enable javadoc generation (#8299)
VinayGuthal Jun 12, 2026
13d1595
[Fix] remove Latin abbreviations (#8298)
milaGGL Jun 12, 2026
b735b6d
dataconnect(test): unit tests for auth and app check tokens on realti…
dconeybe Jun 12, 2026
6b2d69d
[AppCheck] Bump recaptcha version to 19.0.0 (#8303)
rlazo Jun 15, 2026
349110e
[Infra] Update GitHub Actions dependencies (#8302)
rlazo Jun 15, 2026
7351378
Revert "Disable integration test checks temporarily (#8248)" (#8304)
wu-hui Jun 15, 2026
25624a0
flow control
dlarocque Jun 16, 2026
1ccbe1f
control flow must be positive
dlarocque Jun 16, 2026
e92bcc7
Add java snippets to compilation tests (#8290)
emilypgoogle Jun 16, 2026
5b55c36
Avoid eagerly evaluating unstrippedNativeLibsOverride during the conf…
OOS93 Jun 16, 2026
6884923
dataconnect(fix): fix abruptly failure in realtime query subscription…
dconeybe Jun 17, 2026
7ec63ec
dataconnect(test): add tests for auth token changes concurrent with r…
dconeybe Jun 17, 2026
9ddc6c3
dataconnect(chore): headless_android_emulator_run.zsh minor improveme…
dconeybe Jun 17, 2026
56b438d
Ignore flakey daily AI Logic test (#8288)
emilypgoogle Jun 17, 2026
fdbf6f7
dataconnect(test): person_ops.gql: fix illegal `@check` directive out…
dconeybe Jun 17, 2026
5715858
Update build instructions (#8321)
kaibolay Jun 18, 2026
42326cd
[Infra] Upgrade Gradle wrapper to 8.14.5 (#8315)
rlazo Jun 18, 2026
c9224d1
dataconnect(fix): fix potential infinite loop when Auth and/or App Ch…
dconeybe Jun 18, 2026
5711edd
[Infra] Upgrade Android Gradle Plugin to 8.13.2 (#8323)
rlazo Jun 18, 2026
1f4bdf8
dataconnect(chore): rename internal class AuthUidChangedException to …
dconeybe Jun 18, 2026
95136b6
Feature/jrc 8103.fix.api.34.heuristic (#8326)
jrodiz Jun 19, 2026
ba262c5
[Infra] Update dependencies in plugins build file (#8329)
rlazo Jun 19, 2026
87a563c
m182 mergeback (#8328)
google-oss-bot Jun 19, 2026
3bd0a3c
dataconnect(chore): dataconnect_emulator_upgrade/SKILL.md: fix extens…
dconeybe Jun 22, 2026
ae94258
[AppCheck] Log errors in RecaptchaAppCheckProvider (#8330)
rlazo Jun 22, 2026
5c74949
dataconnect(chore): internal cleanup of logging from GrpcBidiFlow (#8…
dconeybe Jun 22, 2026
9f58de8
dataconnect(chore): upgrade gradleplugin dependencies `com.google.clo…
dconeybe Jun 22, 2026
c6ef1d5
TestUtils.kt: fix long-standing bug where the behavior of `ignoreCase…
dconeybe Jun 22, 2026
27d7c12
dataconnect(test): AuthIntegrationTest.kt: added realtime query subsc…
dconeybe Jun 22, 2026
97a669a
dataconnect: ci: upgrade data connect emulator to 3.4.13 (was 3.4.11)…
dconeybe Jun 22, 2026
59ee4e9
[AppCheck] Remove file that shouldn't be part of the repo (#8345)
rlazo Jun 22, 2026
d97ea6a
dataconnect(fix): Refresh expired Auth and App Check tokens in realti…
dconeybe Jun 23, 2026
81252ab
build(deps): bump form-data from 2.5.5 to 2.5.6 in /smoke-tests/src/a…
dependabot[bot] Jun 23, 2026
4e72290
[Common] Replace e.g. with for example in Javadoc comments (#8348)
rlazo Jun 23, 2026
118ac59
dataconnect(test): QuerySubscriptionImplUnitTest.kt add tests for UNA…
dconeybe Jun 23, 2026
6c522f2
dataconnect(test): AuthIntegrationTest.kt: add tests for resubscribe …
dconeybe Jun 24, 2026
3ef69c9
dataconnect(change): add core/generated SDK info to request headers o…
dconeybe Jun 25, 2026
990367e
dataconnect(test): fix resource leaks in DataConnectGrpcRPCsUnitTest.…
dconeybe Jun 25, 2026
1b75400
Merge branch 'main' into dl/flow-control
dlarocque Jun 25, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
19 changes: 3 additions & 16 deletions .github/workflows/ai-daily-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,6 @@ jobs:
with:
submodules: true

- name: Enable KVM
run: |
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
sudo udevadm control --reload-rules
sudo udevadm trigger --name-match=kvm

- name: Set up JDK 17
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
with:
Expand All @@ -46,24 +40,17 @@ jobs:
- uses: google-github-actions/setup-gcloud@aa5489c8933f4cc7a4f7d45035b3b1440c9c10db # v3.0.1

- name: Run tests
uses: reactivecircus/android-emulator-runner@62dbb605bba737720e10b196cb4220d374026a6d #v2.33.0
env:
FIREBASE_CI: 1
FTL_RESULTS_BUCKET: android-ci
FTL_RESULTS_DIR: ${{ format('logs/{0}/{1}_{2}/artifacts/', github.workflow, github.run_id, github.run_attempt) }}
FIREBASE_APP_CHECK_DEBUG_SECRET: ${{ secrets.FIREBASE_APP_CHECK_DEBUG_SECRET }}
with:
api-level: 34
arch: x86_64
ram-size: 4096M
heap-size: 4096M
script: |
adb logcat -v time > logcat.txt &
./gradlew ai-logic:firebase-ai:connectedCheck withErrorProne -PtargetBackend="prod"
run: |
./gradlew ai-logic:firebase-ai:deviceCheck withErrorProne -PtargetBackend="prod"

- name: Upload logs
if: failure()
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: logcat.txt
path: logcat.txt
Expand Down
35 changes: 30 additions & 5 deletions .github/workflows/app-distribution-gradle-compatibility-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,39 +2,64 @@ name: App Distribution Gradle Compatibility Tests

on:
schedule:
- cron: '0 6 * * *' # Run daily at 6 AM
- cron: '0 6 * * *' # Run daily at 6:00 am UTC
pull_request:
paths:
- 'firebase-appdistribution/**'
- 'firebase-appdistribution-api/**'
- 'firebase-appdistribution-gradle/**'
workflow_dispatch: # Allow manual triggering

permissions:
contents: read
issues: write

jobs:
app-distribution-plugin:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Set up JDK 17
uses: actions/setup-java@3a4f6e1af504cf6a31855fa899c6aa5355ba6c12 # v4.7.0
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
with:
java-version: 17
distribution: temurin
cache: gradle

- name: Setup local.properties for prodTest
run: |
echo "${{ secrets.INTEG_TESTS_FAD_GRADLE_PROD_TEST_PROPERTIES }}" > local.properties

- name: Add FAD service-credentials.json
env:
INTEG_TESTS_FAD_SERVICE_CREDENTIALS: ${{ secrets.INTEG_TESTS_FAD_SERVICE_CREDENTIALS }}
if: env.INTEG_TESTS_FAD_SERVICE_CREDENTIALS != '' && env.INTEG_TESTS_FAD_SERVICE_CREDENTIALS != 'null'
run: |
echo $INTEG_TESTS_FAD_SERVICE_CREDENTIALS | base64 -d > firebase-appdistribution-gradle/service-credentials.json

- name: Run tests
id: tests
env:
FIREBASE_TOKEN: ${{ secrets.INTEG_TESTS_FAD_FIREBASE_TOKEN }}
run: |
./gradlew \
:firebase-appdistribution-gradle:integrationTest
:firebase-appdistribution-gradle:prodTest \
:firebase-appdistribution-gradle:integrationTest --continue

- name: Upload Test Report
if: failure()
uses: actions/upload-artifact@v4
with:
name: integration-test-report
path: firebase-appdistribution-gradle/build/reports/tests/integrationTest/
path: firebase-appdistribution-gradle/build/reports/tests/

- name: Create GitHub Issue on Failure
if: failure() && github.event_name == 'schedule' && github.ref_name == 'main'
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh issue create \
--title "[firebase-appdistribution] Gradle Compatibility Tests Failed" \
--body "The daily compatibility tests failed on the main branch. Please check the workflow logs here to diagnose the failure: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" \
--label "api: appdistribution"
6 changes: 3 additions & 3 deletions .github/workflows/build-release-artifacts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,21 +41,21 @@ jobs:
./gradlew firebasePublish

- name: Upload m2 repo
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: m2repository
path: build/m2repository/
retention-days: 15

- name: Upload release notes
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: release_notes
path: build/release-notes/
retention-days: 15

- name: Upload kotlindocs
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: kotlindocs
path: build/firebase-kotlindoc/
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/changelog.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
with:
fetch-depth: 100
submodules: true
- uses: ruby/setup-ruby@0481980f17b760ef6bca5e8c55809102a0af1e5a # v1.263.0
- uses: ruby/setup-ruby@12fd324f1d0b43274fdc8130f6980590a667c455 # v1.312.0
with:
ruby-version: '3.4'
- name: Setup Bundler
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/check-firebaseai-responses.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,14 @@ jobs:
echo "latest_tag=$LATEST" >> $GITHUB_ENV
working-directory: ai-logic/firebase-ai/src/test/resources/vertexai-sdk-test-data
- name: Find comment from previous run if exists
uses: peter-evans/find-comment@3eae4d37986fb5a8592848f6a574fdf654e61f9e # v3.1.0
uses: peter-evans/find-comment@b30e6a3c0ed37e7c023ccd3f1db5c6c0b0c23aad # v4.0.0
id: fc
with:
issue-number: ${{github.event.number}}
body-includes: Firebase AI Mock Responses Check
- name: Comment on PR if newer version is available
if: ${{env.cloned_tag != env.latest_tag && !steps.fc.outputs.comment-id}}
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0
uses: peter-evans/create-or-update-comment@e8674b075228eee787fea43ef493e45ece1004c9 # v5.0.0
with:
issue-number: ${{github.event.number}}
body: >
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/ci_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ jobs:
env:
MATRIX_MODULE: ${{matrix.module}}
- name: Upload Test Results
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
if: always()
with:
name: unit-test-result-${{env.ARTIFACT_NAME}}
Expand Down Expand Up @@ -186,7 +186,7 @@ jobs:

steps:
- name: Download Artifacts
uses: actions/download-artifact@95815c38cf2ff2164869cbab79da8d1f422bc89e # v4.2.1
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
path: artifacts

Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/create-releases-buildtools.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ jobs:
./gradlew \
-Dmaven.repo.local=${ARTIFACTS} \
:firebase-appdistribution-gradle:publishToMavenLocal
- uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: firebase-appdistribution-gradle
path: ${{ env.ARTIFACTS }}
Expand Down Expand Up @@ -68,7 +68,7 @@ jobs:
-Dmaven.repo.local=${ARTIFACTS} \
:firebase-crashlytics-buildtools:publishToMavenLocal \
:firebase-crashlytics-gradle:publishToMavenLocal
- uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: firebase-crashlytics-gradle-and-buildtools
path: ${{ env.ARTIFACTS }}
Expand All @@ -95,7 +95,7 @@ jobs:
./gradlew \
-Dmaven.repo.local=${ARTIFACTS} \
:firebase-perf-gradle:publishToMavenLocal
- uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: firebase-perf-gradle
path: ${{ env.ARTIFACTS }}
8 changes: 5 additions & 3 deletions .github/workflows/create_releases.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,14 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- name: Create base branch
uses: peterjgrainger/action-create-branch@08259812c8ebdbf1973747f9297e332fa078d3c1
with:
branch: 'releases/${{ inputs.name }}'
run: |
gh api repos/${{ github.repository }}/git/refs \
-f ref="refs/heads/releases/${{ inputs.name }}" \
-f sha="${{ github.sha }}"

create-pull-request:
runs-on: ubuntu-latest
needs: create-branches
permissions:
contents: write
pull-requests: write
Expand Down
34 changes: 23 additions & 11 deletions .github/workflows/dataconnect.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@ on:
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 || '15.15.0' }}
FDC_NODEJS_VERSION: ${{ inputs.nodeJsVersion || '24' }}
FDC_INPUT_FIREBASE_TOOLS_VERSION: ${{ inputs.firebaseToolsVersion }}
FDC_FIREBASE_TOOLS_DIR: /tmp/firebase-tools
FDC_FIREBASE_COMMAND: /tmp/firebase-tools/node_modules/.bin/firebase
FDC_PYTHON_VERSION: ${{ inputs.pythonVersion || '3.13' }}
Expand All @@ -54,6 +54,16 @@ jobs:
with:
show-progress: false

- name: Initialize FDC_FIREBASE_TOOLS_VERSION environment variable
run: |
set -euo pipefail
if [[ -n "$FDC_INPUT_FIREBASE_TOOLS_VERSION" ]]; then
version="$FDC_INPUT_FIREBASE_TOOLS_VERSION"
else
version="$(cat firebase-dataconnect/ci/firebase-tools-version.txt)"
fi
echo "FDC_FIREBASE_TOOLS_VERSION=${version}" >> "$GITHUB_ENV"

- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
with:
java-version: ${{ env.FDC_JAVA_VERSION }}
Expand All @@ -63,7 +73,7 @@ jobs:
- name: Setup Gradle
uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5.0.2

- uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4.3.0
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: ${{ env.FDC_NODEJS_VERSION }}

Expand All @@ -83,7 +93,7 @@ jobs:
npm install --fund=false --audit=false --save --save-exact firebase-tools@${{ env.FDC_FIREBASE_TOOLS_VERSION }}

- name: Restore Gradle Cache
uses: actions/cache/restore@d4323d4df104b026a6aa633fdb11d772146be0bf # 4.2.2
uses: actions/cache/restore@668228422ae6a00e4ad889ee87cd7109ec5666a7 # 5.0.4
if: github.event_name != 'schedule'
with:
path: |
Expand Down Expand Up @@ -135,7 +145,7 @@ jobs:
:firebase-dataconnect:assembleDebugAndroidTest

- name: Save Gradle Cache
uses: actions/cache/save@d4323d4df104b026a6aa633fdb11d772146be0bf # 4.2.2
uses: actions/cache/save@668228422ae6a00e4ad889ee87cd7109ec5666a7 # 5.0.4
if: github.event_name == 'schedule'
with:
path: |
Expand All @@ -152,7 +162,7 @@ jobs:
sudo udevadm trigger --name-match=kvm

- name: Restore AVD Cache
uses: actions/cache/restore@d4323d4df104b026a6aa633fdb11d772146be0bf # 4.2.2
uses: actions/cache/restore@668228422ae6a00e4ad889ee87cd7109ec5666a7 # 5.0.4
if: github.event_name != 'schedule'
id: restore-avd-cache
with:
Expand All @@ -165,7 +175,7 @@ jobs:

- name: Create AVD
if: github.event_name == 'schedule' || steps.restore-avd-cache.outputs.cache-matched-key == ''
uses: reactivecircus/android-emulator-runner@62dbb605bba737720e10b196cb4220d374026a6d #v2.33.0
uses: reactivecircus/android-emulator-runner@e89f39f1abbbd05b1113a29cf4db69e7540cae5a #v2.37.0
with:
api-level: ${{ env.FDC_ANDROID_EMULATOR_API_LEVEL }}
arch: x86_64
Expand All @@ -175,7 +185,7 @@ jobs:
script: 'echo "Generated AVD snapshot for caching; event_name=${{ github.event_name }}, cache-matched-key=${{ steps.restore-avd-cache.outputs.cache-matched-key }}"'

- name: Save AVD Cache
uses: actions/cache/save@d4323d4df104b026a6aa633fdb11d772146be0bf # 4.2.2
uses: actions/cache/save@668228422ae6a00e4ad889ee87cd7109ec5666a7 # 5.0.4
if: github.event_name == 'schedule'
with:
path: |
Expand Down Expand Up @@ -244,7 +254,7 @@ jobs:

- name: Gradle connectedCheck
id: connectedCheck
uses: reactivecircus/android-emulator-runner@62dbb605bba737720e10b196cb4220d374026a6d #v2.33.0
uses: reactivecircus/android-emulator-runner@e89f39f1abbbd05b1113a29cf4db69e7540cae5a #v2.37.0
# Allow this GitHub Actions "job" to continue even if the tests fail so that logs from a
# failed test run get uploaded as "artifacts" and are available to investigate failed runs.
# A later step in this "job" will fail the job if this step fails
Expand All @@ -259,15 +269,15 @@ jobs:
set -eux && ./gradlew --warning-mode all ${{ (inputs.gradleInfoLog && '--info') || '' }} :firebase-dataconnect:connectedCheck :firebase-dataconnect:connectors:connectedCheck

- name: Upload Log Files
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: integration_test_logs
path: "**/*.log"
if-no-files-found: warn
compression-level: 9

- name: Upload Gradle Build Reports
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: integration_test_gradle_build_reports
path: firebase-dataconnect/**/build/reports/
Expand Down Expand Up @@ -403,6 +413,7 @@ jobs:
needs:
- 'integration-test'
- 'actionlint-dataconnect-yml'
- 'zshellcheck'
- 'python-ci-unit-tests'
- 'python-ci-lint'
- 'python-ci-format'
Expand All @@ -428,6 +439,7 @@ jobs:
cat >'${{ runner.temp }}/job_results.txt' <<EOF
integration-test:${{ needs.integration-test.result }}
actionlint-dataconnect-yml:${{ needs.actionlint-dataconnect-yml.result }}
zshellcheck:${{ needs.zshellcheck.result }}
python-ci-unit-tests:${{ needs.python-ci-unit-tests.result }}
python-ci-lint:${{ needs.python-ci-lint.result }}
python-ci-format:${{ needs.python-ci-format.result }}
Expand Down
Loading