zip.yml 26 KB

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