zip.yml 27 KB

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