zip.yml 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  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. runs-on: macOS-latest
  15. steps:
  16. - uses: actions/checkout@v2
  17. - name: Build
  18. run: |
  19. cd ZipBuilder
  20. swift build -v
  21. package:
  22. needs: build
  23. env:
  24. gcs_key: ${{ secrets.GHASecretsGPGPassphrase1 }}
  25. runs-on: macOS-latest
  26. # Only run the `package` job for the cron job, not PRs.
  27. if: github.event_name == 'schedule'
  28. steps:
  29. - uses: actions/checkout@v2
  30. - name: Setup Bundler
  31. run: ./scripts/setup_bundler.sh
  32. - name: ZipBuildingTest
  33. run: |
  34. mkdir -p zip_output_dir
  35. sh -x scripts/build_zip.sh zip_output_dir
  36. - uses: actions/upload-artifact@v1
  37. with:
  38. name: Firebase-actions-dir
  39. # Zip the entire output directory since the builder adds subdirectories we don't know the
  40. # name of.
  41. path: zip_output_dir
  42. - name: Install gcloud tool
  43. if: ${{ always() }}
  44. run: scripts/install_access_gcloud.sh
  45. - name: Access gcloud account
  46. if: ${{ always() }}
  47. run: |
  48. scripts/decrypt_gha_secret.sh scripts/gha-encrypted/firebase-ios-testing.json.gpg firebase-ios-testing.json "$gcs_key"
  49. gcloud auth activate-service-account --key-file firebase-ios-testing.json
  50. - name: Upload zip file to GCS
  51. run: scripts/upload_to_gcs.sh "${GITHUB_HASH}" "zip_output_dir"
  52. - name: Upload zip file to GCS
  53. if: ${{ failure() }}
  54. run: scripts/upload_to_gcs.sh "Fail"