androidlinuxfirebasegithub-actionsgithub-cli

Google services json file for github actions?


I am currently working on a android project and I use github action to test the project. But whenever it build it ends up with an error for not finding the google-services.json file.

The error generated is as follows

File google-services.json is missing. The Google Services Plugin cannot function without it.

Now, I don't want to commit or upload the google-services.json file on the github. So, Is there any other way to solve this?


Solution

  • Well... I have found the solution but in case if anyone needs I am explaining here.

    We can store the content of google-sevices.json in Environment variable (aka Secrets in github). Actually github uses linux based cli so we have to execute some command on the cli using github actions.

    There will be two steps ...

    - name: Create file
      run: cat /home/runner/work/<Project-Name>/<Project-Name>/app/google-services.json | base64
    
    - name: Putting data
      env:
        DATA: ${{ secrets.GOOGLE_SERVICES_JSON }}
      run: echo $DATA > /home/runner/work/<Project-Name>/<Project-Name>/app/google-services.json
    

    Both of these commands should be placed before the gradle build command in gradle.yml

    By doing this your google-services.json file will be created and has data also so the app will build successfully.