firestore-nightly.yml 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. # Copyright 2023 Google LLC
  2. #
  3. # Licensed under the Apache License, Version 2.0 (the "License");
  4. # you may not use this file except in compliance with the License.
  5. # You may obtain a copy of the License at
  6. #
  7. # http://www.apache.org/licenses/LICENSE-2.0
  8. #
  9. # Unless required by applicable law or agreed to in writing, software
  10. # distributed under the License is distributed on an "AS IS" BASIS,
  11. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. # See the License for the specific language governing permissions and
  13. # limitations under the License.
  14. name: firestore_nightly
  15. on:
  16. workflow_dispatch:
  17. concurrency:
  18. group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
  19. cancel-in-progress: true
  20. jobs:
  21. check:
  22. runs-on: macos-14
  23. steps:
  24. - uses: actions/checkout@v3
  25. - uses: actions/setup-python@v5
  26. with:
  27. python-version: 3.11
  28. - name: Setup check
  29. run: scripts/setup_check.sh
  30. - name: Run check
  31. run: scripts/check.sh --test-only
  32. cmake-prod-db:
  33. needs: check
  34. strategy:
  35. matrix:
  36. os: [macos-14]
  37. databaseId: [(default)]
  38. env:
  39. plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  40. MINT_PATH: ${{ github.workspace }}/mint
  41. TARGET_DATABASE_ID: ${{ matrix.databaseId }}
  42. runs-on: ${{ matrix.os }}
  43. steps:
  44. - uses: actions/checkout@v3
  45. - name: Prepare ccache
  46. uses: actions/cache@v4
  47. with:
  48. path: ${{ runner.temp }}/ccache
  49. key: firestore-ccache-${{ matrix.databaseId }}-${{ runner.os }}-${{ github.sha }}
  50. restore-keys: |
  51. firestore-ccache-${{ matrix.databaseId }}-${{ runner.os }}-
  52. - name: Cache Mint packages
  53. uses: actions/cache@v4
  54. with:
  55. path: ${{ env.MINT_PATH }}
  56. key: ${{ runner.os }}-mint-${{ hashFiles('**/Mintfile') }}
  57. restore-keys: ${{ runner.os }}-mint-
  58. - uses: actions/setup-python@v5
  59. with:
  60. python-version: '3.7'
  61. - name: Install Secret GoogleService-Info.plist
  62. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/firestore-nightly.plist.gpg \
  63. Firestore/Example/App/GoogleService-Info.plist "$plist_secret"
  64. # Skipping terraform index creation because we are not allowed to download SA key json.
  65. - name: Setup build
  66. run: scripts/install_prereqs.sh Firestore ${{ runner.os }} cmake
  67. - name: Build and test
  68. run: |
  69. export CCACHE_DIR=${{ runner.temp }}/ccache
  70. export TARGET_BACKEND=nightly
  71. scripts/third_party/travis/retry.sh scripts/build.sh Firestore ${{ runner.os }} cmake