zip.yml 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531
  1. name: zip
  2. on:
  3. pull_request:
  4. paths:
  5. - 'ReleaseTooling/Sources/**'
  6. - '.github/workflows/zip.yml'
  7. - 'scripts/build_non_firebase_sdks.sh'
  8. - 'Gemfile*'
  9. # Don't run based on any markdown only changes.
  10. - '!ReleaseTooling/*.md'
  11. schedule:
  12. # Run every day at midnight(PST) - cron uses UTC times
  13. - cron: '0 8 * * *'
  14. workflow_dispatch:
  15. inputs:
  16. custom_spec_repos:
  17. description: 'Custom Podspec repos'
  18. required: true
  19. default: 'https://github.com/firebase/SpecsStaging.git'
  20. jobs:
  21. package-release:
  22. # Don't run on private repo.
  23. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch'
  24. runs-on: macOS-10.15
  25. steps:
  26. - uses: actions/checkout@v2
  27. - uses: mikehardy/buildcache-action@50738c6c77de7f34e66b870e4f8ede333b69d077
  28. with:
  29. cache_key: ${{ matrix.os }}
  30. - name: Xcode 12.2
  31. run: sudo xcode-select -s /Applications/Xcode_12.2.app/Contents/Developer
  32. - name: Setup Bundler
  33. run: ./scripts/setup_bundler.sh
  34. - name: ZipBuildingTest
  35. run: |
  36. mkdir -p release_zip_dir
  37. sh -x scripts/build_zip.sh release_zip_dir \
  38. "${{ github.event.inputs.custom_spec_repos || 'https://github.com/firebase/SpecsStaging.git' }}"
  39. - uses: actions/upload-artifact@v1
  40. with:
  41. name: Firebase-release-zip-zip
  42. # Zip the entire output directory since the builder adds subdirectories we don't know the
  43. # name of.
  44. path: release_zip_dir
  45. build:
  46. # Don't run on private repo unless it is a PR.
  47. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch'
  48. runs-on: macOS-10.15
  49. steps:
  50. - uses: actions/checkout@v2
  51. - name: Xcode 12.2
  52. run: sudo xcode-select -s /Applications/Xcode_12.2.app/Contents/Developer
  53. - name: Build
  54. run: |
  55. cd ReleaseTooling
  56. swift build -v
  57. package-head:
  58. # Don't run on private repo.
  59. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch'
  60. needs: build
  61. runs-on: macOS-10.15
  62. steps:
  63. - uses: actions/checkout@v2
  64. - uses: mikehardy/buildcache-action@50738c6c77de7f34e66b870e4f8ede333b69d077
  65. with:
  66. cache_key: ${{ matrix.os }}
  67. - name: Xcode 12.2
  68. run: sudo xcode-select -s /Applications/Xcode_12.2.app/Contents/Developer
  69. - name: Setup Bundler
  70. run: ./scripts/setup_bundler.sh
  71. - name: ZipBuildingTest
  72. run: |
  73. mkdir -p zip_output_dir
  74. sh -x scripts/build_zip.sh \
  75. zip_output_dir "${{ github.event.inputs.custom_spec_repos || 'https://github.com/firebase/SpecsStaging.git,https://github.com/firebase/SpecsDev.git' }}" \
  76. build-head
  77. - uses: actions/upload-artifact@v1
  78. with:
  79. name: Firebase-actions-dir
  80. # Zip the entire output directory since the builder adds subdirectories we don't know the
  81. # name of.
  82. path: zip_output_dir
  83. quickstart_framework_abtesting:
  84. # Don't run on private repo.
  85. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch'
  86. needs: package-head
  87. env:
  88. plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  89. signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  90. FRAMEWORK_DIR: "Firebase-actions-dir"
  91. SDK: "ABTesting"
  92. runs-on: macOS-10.15
  93. steps:
  94. - uses: actions/checkout@v2
  95. - name: Get framework dir
  96. uses: actions/download-artifact@v1
  97. with:
  98. name: Firebase-actions-dir
  99. - name: Move frameworks
  100. run: |
  101. mkdir -p "${HOME}"/ios_frameworks/
  102. find "${GITHUB_WORKSPACE}/${FRAMEWORK_DIR}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} +
  103. - name: Setup quickstart
  104. env:
  105. LEGACY: true
  106. run: SAMPLE="$SDK" TARGET="${SDK}Example" scripts/setup_quickstart_framework.sh \
  107. "${HOME}"/ios_frameworks/Firebase/FirebaseRemoteConfig/* \
  108. "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/FirebaseCore.xcframework \
  109. "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/PromisesObjC.xcframework \
  110. "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/FirebaseInstallations.xcframework \
  111. "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/GoogleUtilities.xcframework
  112. - name: Install Secret GoogleService-Info.plist
  113. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-abtesting.plist.gpg \
  114. quickstart-ios/abtesting/GoogleService-Info.plist "$plist_secret"
  115. - name: Test Quickstart
  116. env:
  117. LEGACY: true
  118. run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}")
  119. - name: Remove data before upload
  120. env:
  121. LEGACY: true
  122. if: ${{ failure() }}
  123. run: scripts/remove_data.sh abtesting
  124. - uses: actions/upload-artifact@v2
  125. if: ${{ failure() }}
  126. with:
  127. name: quickstart_artifacts_abtesting
  128. path: quickstart-ios/
  129. quickstart_framework_auth:
  130. # Don't run on private repo.
  131. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch'
  132. needs: package-head
  133. env:
  134. plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  135. signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  136. FRAMEWORK_DIR: "Firebase-actions-dir"
  137. SDK: "Authentication"
  138. runs-on: macos-11
  139. steps:
  140. - uses: actions/checkout@v2
  141. # Facebook SDK 12.0.1 requires Xcode 13
  142. - name: Xcode 13.0
  143. run: sudo xcode-select -s /Applications/Xcode_13.0.app/Contents/Developer
  144. - name: Get framework dir
  145. uses: actions/download-artifact@v1
  146. with:
  147. name: Firebase-actions-dir
  148. - name: Move frameworks
  149. run: |
  150. mkdir -p "${HOME}"/ios_frameworks/
  151. find "${GITHUB_WORKSPACE}/${FRAMEWORK_DIR}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} +
  152. - name: Setup Swift Quickstart
  153. run: SAMPLE="$SDK" TARGET="${SDK}Example" NON_FIREBASE_SDKS="FBSDKLoginKit FBSDKCoreKit FBSDKCoreKit_Basics FBAEMKit" scripts/setup_quickstart_framework.sh \
  154. "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/* \
  155. "${HOME}"/ios_frameworks/Firebase/FirebaseDynamicLinks/* \
  156. "${HOME}"/ios_frameworks/Firebase/GoogleSignIn/* \
  157. "${HOME}"/ios_frameworks/Firebase/FirebaseAuth/* \
  158. "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/*
  159. - name: Install Secret GoogleService-Info.plist
  160. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-auth.plist.gpg \
  161. quickstart-ios/authentication/GoogleService-Info.plist "$plist_secret"
  162. - name: Test Swift Quickstart
  163. run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}")
  164. - name: Remove data before upload
  165. if: ${{ failure() }}
  166. run: scripts/remove_data.sh authentiation
  167. - uses: actions/upload-artifact@v2
  168. if: ${{ failure() }}
  169. with:
  170. name: quickstart_artifacts_auth
  171. path: quickstart-ios/
  172. quickstart_framework_config:
  173. # Don't run on private repo.
  174. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch'
  175. needs: package-head
  176. env:
  177. plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  178. signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  179. FRAMEWORK_DIR: "Firebase-actions-dir"
  180. SDK: "Config"
  181. runs-on: macOS-10.15
  182. steps:
  183. - uses: actions/checkout@v2
  184. - name: Get framework dir
  185. uses: actions/download-artifact@v1
  186. with:
  187. name: Firebase-actions-dir
  188. - name: Move frameworks
  189. run: |
  190. mkdir -p "${HOME}"/ios_frameworks/
  191. find "${GITHUB_WORKSPACE}/${FRAMEWORK_DIR}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} +
  192. - name: Setup Swift Quickstart
  193. run: SAMPLE="$SDK" TARGET="${SDK}Example" scripts/setup_quickstart_framework.sh \
  194. "${HOME}"/ios_frameworks/Firebase/FirebaseRemoteConfig/* \
  195. "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/*
  196. - name: Install Secret GoogleService-Info.plist
  197. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-config.plist.gpg \
  198. quickstart-ios/config/GoogleService-Info.plist "$plist_secret"
  199. - name: Test Swift Quickstart
  200. run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}")
  201. - name: Remove data before upload
  202. if: ${{ failure() }}
  203. run: scripts/remove_data.sh config
  204. - uses: actions/upload-artifact@v2
  205. if: ${{ failure() }}
  206. with:
  207. name: quickstart_artifacts_config
  208. path: quickstart-ios/
  209. quickstart_framework_crashlytics:
  210. # Don't run on private repo.
  211. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch'
  212. needs: package-head
  213. env:
  214. plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  215. signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  216. FRAMEWORK_DIR: "Firebase-actions-dir"
  217. SDK: "Crashlytics"
  218. runs-on: macOS-10.15
  219. steps:
  220. - uses: actions/checkout@v2
  221. - name: Get framework dir
  222. uses: actions/download-artifact@v1
  223. with:
  224. name: Firebase-actions-dir
  225. - name: Move frameworks
  226. run: |
  227. mkdir -p "${HOME}"/ios_frameworks/
  228. find "${GITHUB_WORKSPACE}/${FRAMEWORK_DIR}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} +
  229. - name: Setup quickstart
  230. env:
  231. LEGACY: true
  232. run: |
  233. SAMPLE="$SDK" TARGET="${SDK}Example" scripts/setup_quickstart_framework.sh \
  234. "${HOME}"/ios_frameworks/Firebase/FirebaseCrashlytics/* \
  235. "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/*
  236. cp quickstart-ios/crashlytics/LegacyCrashlyticsQuickstart/Firebase/run quickstart-ios/crashlytics/LegacyCrashlyticsQuickstart
  237. cp quickstart-ios/crashlytics/LegacyCrashlyticsQuickstart/Firebase/upload-symbols quickstart-ios/crashlytics/LegacyCrashlyticsQuickstart
  238. chmod +x quickstart-ios/crashlytics/LegacyCrashlyticsQuickstart/run
  239. chmod +x quickstart-ios/crashlytics/LegacyCrashlyticsQuickstart/upload-symbols
  240. # TODO(#8057): Restore Swift Quickstart
  241. # - name: Setup swift quickstart
  242. # run: |
  243. # SAMPLE="$SDK" TARGET="${SDK}ExampleSwift" NON_FIREBASE_SDKS="ReachabilitySwift" scripts/setup_quickstart_framework.sh \
  244. # "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/*
  245. - name: Install Secret GoogleService-Info.plist
  246. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-crashlytics.plist.gpg \
  247. quickstart-ios/crashlytics/GoogleService-Info.plist "$plist_secret"
  248. - name: Test Quickstart
  249. env:
  250. LEGACY: true
  251. run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}")
  252. # - name: Test Swift Quickstart
  253. # run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}" swift)
  254. - name: Remove data before upload
  255. env:
  256. LEGACY: true
  257. if: ${{ failure() }}
  258. run: scripts/remove_data.sh crashlytics
  259. - uses: actions/upload-artifact@v2
  260. if: ${{ failure() }}
  261. with:
  262. name: quickstart_artifacts_crashlytics
  263. path: quickstart-ios/
  264. quickstart_framework_database:
  265. # Don't run on private repo.
  266. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch'
  267. needs: package-head
  268. env:
  269. plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  270. signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  271. FRAMEWORK_DIR: "Firebase-actions-dir"
  272. SDK: "Database"
  273. runs-on: macOS-10.15
  274. steps:
  275. - uses: actions/checkout@v2
  276. - name: Get framework dir
  277. uses: actions/download-artifact@v1
  278. with:
  279. name: Firebase-actions-dir
  280. - name: Move frameworks
  281. run: |
  282. mkdir -p "${HOME}"/ios_frameworks/
  283. find "${GITHUB_WORKSPACE}/${FRAMEWORK_DIR}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} +
  284. - name: Setup quickstart
  285. run: SAMPLE="$SDK" TARGET="${SDK}Example" NON_FIREBASE_SDKS="FirebaseDatabaseUI" scripts/setup_quickstart_framework.sh \
  286. "${HOME}"/ios_frameworks/Firebase/FirebaseDatabase/* \
  287. "${HOME}"/ios_frameworks/Firebase/FirebaseStorage/* \
  288. "${HOME}"/ios_frameworks/Firebase/FirebaseFirestore/* \
  289. "${HOME}"/ios_frameworks/Firebase/FirebaseAuth/* \
  290. "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/* \
  291. "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/*
  292. - name: Install Secret GoogleService-Info.plist
  293. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-database.plist.gpg \
  294. quickstart-ios/database/GoogleService-Info.plist "$plist_secret"
  295. - name: Test Quickstart
  296. run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}")
  297. - name: Remove data before upload
  298. if: ${{ failure() }}
  299. run: scripts/remove_data.sh database
  300. - uses: actions/upload-artifact@v2
  301. if: ${{ failure() }}
  302. with:
  303. name: quickstart_artifacts database
  304. path: quickstart-ios/
  305. quickstart_framework_dynamiclinks:
  306. # Don't run on private repo.
  307. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch'
  308. needs: package-head
  309. env:
  310. plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  311. signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  312. FRAMEWORK_DIR: "Firebase-actions-dir"
  313. SDK: "DynamicLinks"
  314. runs-on: macOS-10.15
  315. steps:
  316. - uses: actions/checkout@v2
  317. - name: Get framework dir
  318. uses: actions/download-artifact@v1
  319. with:
  320. name: Firebase-actions-dir
  321. - name: Move frameworks
  322. run: |
  323. mkdir -p "${HOME}"/ios_frameworks/
  324. find "${GITHUB_WORKSPACE}/${FRAMEWORK_DIR}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} +
  325. - name: Setup Objc Quickstart
  326. run: SAMPLE="$SDK" TARGET="${SDK}Example" scripts/setup_quickstart_framework.sh \
  327. "${HOME}"/ios_frameworks/Firebase/FirebaseDynamicLinks/* \
  328. "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/*
  329. - name: Setup Swift Quickstart
  330. run: SAMPLE="$SDK" TARGET="${SDK}ExampleSwift" scripts/setup_quickstart_framework.sh
  331. - name: Update Environment Variable For DynamicLinks
  332. run: |
  333. sed -i '' 's#DYNAMIC_LINK_DOMAIN#https://qpf6m.app.goo.gl#' quickstart-ios/dynamiclinks/DynamicLinksExample/DynamicLinksExample.entitlements
  334. sed -i '' 's#YOUR_DOMAIN_URI_PREFIX";#https://qpf6m.app.goo.gl";#' quickstart-ios/dynamiclinks/DynamicLinksExample/ViewController.m
  335. sed -i '' 's#YOUR_DOMAIN_URI_PREFIX";#https://qpf6m.app.goo.gl";#' quickstart-ios/dynamiclinks/DynamicLinksExampleSwift/ViewController.swift
  336. - name: Install Secret GoogleService-Info.plist
  337. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-dynamiclinks.plist.gpg \
  338. quickstart-ios/dynamiclinks/GoogleService-Info.plist "$plist_secret"
  339. - name: Test Objc Quickstart
  340. run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}")
  341. - name: Test Swift Quickstart
  342. run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}" swift)
  343. - name: Remove data before upload
  344. if: ${{ failure() }}
  345. run: scripts/remove_data.sh dynamiclinks
  346. - uses: actions/upload-artifact@v2
  347. if: ${{ failure() }}
  348. with:
  349. name: quickstart_artifacts_dynamiclinks
  350. path: quickstart-ios/
  351. quickstart_framework_firestore:
  352. # Don't run on private repo.
  353. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch'
  354. needs: package-head
  355. env:
  356. plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  357. signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  358. FRAMEWORK_DIR: "Firebase-actions-dir"
  359. SDK: "Firestore"
  360. runs-on: macOS-10.15
  361. steps:
  362. - uses: actions/checkout@v2
  363. - name: Get framework dir
  364. uses: actions/download-artifact@v1
  365. with:
  366. name: Firebase-actions-dir
  367. - name: Move frameworks
  368. run: |
  369. mkdir -p "${HOME}"/ios_frameworks/
  370. find "${GITHUB_WORKSPACE}/${FRAMEWORK_DIR}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} +
  371. - name: Setup quickstart
  372. run: SAMPLE="$SDK" TARGET="${SDK}Example" NON_FIREBASE_SDKS="SDWebImage FirebaseAuthUI FirebaseEmailAuthUI FirebaseFirestoreSwift" scripts/setup_quickstart_framework.sh \
  373. "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/* \
  374. "${HOME}"/ios_frameworks/Firebase/FirebaseFirestore/* \
  375. "${HOME}"/ios_frameworks/Firebase/FirebaseAuth/* \
  376. "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/*
  377. - name: Install Secret GoogleService-Info.plist
  378. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-firestore.plist.gpg \
  379. quickstart-ios/firestore/GoogleService-Info.plist "$plist_secret"
  380. - name: Test Quickstart
  381. run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}")
  382. - name: Remove data before upload
  383. if: ${{ failure() }}
  384. run: scripts/remove_data.sh firestore
  385. - uses: actions/upload-artifact@v2
  386. if: ${{ failure() }}
  387. with:
  388. name: quickstart_artifacts_firestore
  389. path: quickstart-ios/
  390. quickstart_framework_inappmessaging:
  391. # Don't run on private repo.
  392. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch'
  393. needs: package-head
  394. env:
  395. plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  396. signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  397. FRAMEWORK_DIR: "Firebase-actions-dir"
  398. SDK: "InAppMessaging"
  399. runs-on: macOS-10.15
  400. steps:
  401. - uses: actions/checkout@v2
  402. - name: Get framework dir
  403. uses: actions/download-artifact@v1
  404. with:
  405. name: Firebase-actions-dir
  406. - name: Move frameworks
  407. run: |
  408. mkdir -p "${HOME}"/ios_frameworks/
  409. find "${GITHUB_WORKSPACE}/${FRAMEWORK_DIR}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} +
  410. - name: Setup quickstart
  411. run: SAMPLE="$SDK" TARGET="${SDK}Example" scripts/setup_quickstart_framework.sh \
  412. "${HOME}"/ios_frameworks/Firebase/FirebaseDynamicLinks/* \
  413. "${HOME}"/ios_frameworks/Firebase/FirebaseInAppMessaging/* \
  414. "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/*
  415. - name: Setup swift quickstart
  416. run: SAMPLE="$SDK" TARGET="${SDK}ExampleSwift" scripts/setup_quickstart_framework.sh
  417. - name: Install Secret GoogleService-Info.plist
  418. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-inappmessaging.plist.gpg \
  419. quickstart-ios/inappmessaging/GoogleService-Info.plist "$plist_secret"
  420. - name: Test Quickstart
  421. run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}")
  422. - name: Test Swift Quickstart
  423. run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}" swift)
  424. - name: Remove data before upload
  425. if: ${{ failure() }}
  426. run: scripts/remove_data.sh inappmessaging
  427. - uses: actions/upload-artifact@v2
  428. if: ${{ failure() }}
  429. with:
  430. name: quickstart_artifacts_ihappmessaging
  431. path: quickstart-ios/
  432. quickstart_framework_messaging:
  433. # Don't run on private repo.
  434. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch'
  435. needs: package-head
  436. env:
  437. plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  438. signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  439. FRAMEWORK_DIR: "Firebase-actions-dir"
  440. SDK: "Messaging"
  441. runs-on: macOS-10.15
  442. steps:
  443. - uses: actions/checkout@v2
  444. - name: Get framework dir
  445. uses: actions/download-artifact@v1
  446. with:
  447. name: Firebase-actions-dir
  448. - name: Move frameworks
  449. run: |
  450. mkdir -p "${HOME}"/ios_frameworks/
  451. find "${GITHUB_WORKSPACE}/${FRAMEWORK_DIR}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} +
  452. - name: Setup quickstart
  453. run: SAMPLE="$SDK" TARGET="${SDK}Example" scripts/setup_quickstart_framework.sh \
  454. "${HOME}"/ios_frameworks/Firebase/FirebaseMessaging/* \
  455. "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/*
  456. - name: Setup swift quickstart
  457. run: SAMPLE="$SDK" TARGET="${SDK}ExampleSwift" scripts/setup_quickstart_framework.sh
  458. - name: Install Secret GoogleService-Info.plist
  459. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-messaging.plist.gpg \
  460. quickstart-ios/messaging/GoogleService-Info.plist "$plist_secret"
  461. - name: Test Quickstart
  462. run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}")
  463. - name: Test Swift Quickstart
  464. run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}" swift)
  465. - name: Remove data before upload
  466. if: ${{ failure() }}
  467. run: scripts/remove_data.sh messaging
  468. - uses: actions/upload-artifact@v2
  469. if: ${{ failure() }}
  470. with:
  471. name: quickstart_artifacts_messaging
  472. path: quickstart-ios/
  473. quickstart_framework_storage:
  474. # Don't run on private repo.
  475. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch'
  476. needs: package-head
  477. env:
  478. plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  479. signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  480. FRAMEWORK_DIR: "Firebase-actions-dir"
  481. SDK: "Storage"
  482. runs-on: macOS-10.15
  483. steps:
  484. - uses: actions/checkout@v2
  485. - name: Get framework dir
  486. uses: actions/download-artifact@v1
  487. with:
  488. name: Firebase-actions-dir
  489. - name: Move frameworks
  490. run: |
  491. mkdir -p "${HOME}"/ios_frameworks/
  492. find "${GITHUB_WORKSPACE}/${FRAMEWORK_DIR}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} +
  493. - name: Setup quickstart
  494. run: SAMPLE="$SDK" TARGET="${SDK}Example" scripts/setup_quickstart_framework.sh \
  495. "${HOME}"/ios_frameworks/Firebase/FirebaseStorage/* \
  496. "${HOME}"/ios_frameworks/Firebase/FirebaseAuth/* \
  497. "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/*
  498. - name: Setup swift quickstart
  499. run: SAMPLE="$SDK" TARGET="${SDK}ExampleSwift" NON_FIREBASE_SDKS="FirebaseStorageSwift" scripts/setup_quickstart_framework.sh \
  500. "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/*
  501. - name: Install Secret GoogleService-Info.plist
  502. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-storage.plist.gpg \
  503. quickstart-ios/storage/GoogleService-Info.plist "$plist_secret"
  504. - name: Test Quickstart
  505. run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}")
  506. - name: Test Swift Quickstart
  507. run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}" swift)
  508. - name: Remove data before upload
  509. if: ${{ failure() }}
  510. run: scripts/remove_data.sh storage
  511. - uses: actions/upload-artifact@v2
  512. if: ${{ failure() }}
  513. with:
  514. name: quickstart_artifacts_storage
  515. path: quickstart-ios/