firebase-tools icon indicating copy to clipboard operation
firebase-tools copied to clipboard

Deploying firestore:rules with firestore:indexes doesn't work

Open johnnyoshika opened this issue 11 months ago • 2 comments

[REQUIRED] Environment info

firebase-tools: 13.4.0

Platform: Windows and Linux (GitHub Action)

[REQUIRED] Test case

Make changes to firestore.rules and try to deploy. See next section for more info.

[REQUIRED] Steps to reproduce

Make changes to firestore.rules, then:

Linux:

firebase deploy --only functions,firestore:rules,firestore:indexes,storage --project {project_id}

Windows:

firebase deploy --only 'firestore:rules,firestore:indexes' --project {project_id}

Neither of those commands will deploy changes to firestore.rules.

Here is the output of the last command:

i  deploying storage, firestore
i  storage: ensuring required API firebasestorage.googleapis.com is enabled...
+  storage: required API firebasestorage.googleapis.com is enabled
i  firebase.storage: checking storage.rules for compilation errors...
+  firebase.storage: rules file storage.rules compiled successfully
i  firestore: reading indexes from firestore.indexes.json...
i  cloud.firestore: checking firestore.rules for compilation errors...
+  cloud.firestore: rules file firestore.rules compiled successfully
i  storage: latest version of storage.rules already up to date, skipping upload...
+  storage: released rules storage.rules to firebase.storage

Now try this:

firebase deploy --only 'firestore:rules' --project {project_id}

firestore.rules will deploy.

Here is the output of the last command:

i  deploying firestore
i  firestore: reading indexes from firestore.indexes.json...
i  cloud.firestore: checking firestore.rules for compilation errors...
+  cloud.firestore: rules file firestore.rules compiled successfully
i  firestore: uploading rules firestore.rules...
+  firestore: released rules firestore.rules to cloud.firestore

[REQUIRED] Expected behavior

Changes to firestore.rules will deploy.

[REQUIRED] Actual behavior

Changes to firestore.rules do not deploy.

johnnyoshika avatar Mar 08 '24 18:03 johnnyoshika

Hey @johnnyoshika, thanks for reaching out and providing a detailed report. From what I can tell based on the commands you shared, you’re trying to deploy both Firestore rules and Firestore indexes.

Could you try using firebase deploy --only firestore to see if this would deploy both your Firestore rules and indexes without any issues? I’m using this docs as reference.

aalej avatar Mar 11 '24 16:03 aalej

As @aalej mentioned, --only firestore will do what you want here - however, we should definitely handle --only firestore:rules,firestore:indexes smoothly as well. I suspect this should be a relatively easy fix - will take a crack at it later this week.

joehan avatar Mar 12 '24 22:03 joehan