zip.yml 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. name: zip
  2. on:
  3. pull_request:
  4. paths:
  5. - 'ZipBuilder/**'
  6. - '.github/workflows/zip.yml'
  7. # Don't run based on any markdown only changes.
  8. - '!ZipBuilder/*.md'
  9. schedule:
  10. # Run every day at midnight(PST) - cron uses UTC times
  11. - cron: '0 8 * * *'
  12. jobs:
  13. build:
  14. # Don't run on private repo unless it is a PR.
  15. if: github.repository != 'FirebasePrivate/firebase-ios-sdk' || github.event_name == 'pull_request'
  16. runs-on: macOS-latest
  17. steps:
  18. - uses: actions/checkout@v2
  19. - name: Build
  20. run: |
  21. cd ZipBuilder
  22. swift build -v
  23. package:
  24. # Don't run on private repo.
  25. if: github.event_name == 'schedule' && github.repository != 'FirebasePrivate/firebase-ios-sdk'
  26. needs: build
  27. env:
  28. gcs_key: ${{ secrets.GHASecretsGPGPassphrase1 }}
  29. runs-on: macOS-latest
  30. steps:
  31. - uses: actions/checkout@v2
  32. - name: Setup Bundler
  33. run: ./scripts/setup_bundler.sh
  34. - name: ZipBuildingTest
  35. run: |
  36. mkdir -p zip_output_dir
  37. sh -x scripts/build_zip.sh zip_output_dir
  38. - uses: actions/upload-artifact@v1
  39. with:
  40. name: Firebase-actions-dir
  41. # Zip the entire output directory since the builder adds subdirectories we don't know the
  42. # name of.
  43. path: zip_output_dir
  44. - name: Install gcloud tool
  45. if: ${{ always() }}
  46. run: |
  47. curl https://sdk.cloud.google.com > install.sh
  48. bash install.sh --disable-prompts
  49. echo "::add-path::${HOME}/google-cloud-sdk/bin/"
  50. - name: Access gcloud account
  51. if: ${{ always() }}
  52. run: |
  53. scripts/decrypt_gha_secret.sh scripts/gha-encrypted/firebase-ios-testing.json.gpg firebase-ios-testing.json "$gcs_key"
  54. gcloud auth activate-service-account --key-file firebase-ios-testing.json
  55. - name: Update commit hash on GCS if any previous steps failed
  56. if: ${{ failure() }}
  57. run: scripts/upload_to_gcs.sh "${GITHUB_SHA}" "Fail"
  58. - name: Upload zip file to GCS
  59. run: scripts/upload_to_gcs.sh "${GITHUB_SHA}" "zip_output_dir"