11version : 2.1
22
33orbs :
4- android : circleci/android@2.0
4+ android : circleci/android@2.5. 0
55 advanced-checkout : vsco/advanced-checkout@1.1.0
6- node : circleci/node@5.1 .0
6+ node : circleci/node@5.2 .0
77
88references :
99 release_dependencies : &release_dependencies
@@ -26,7 +26,7 @@ commands:
2626 steps :
2727 - node/install :
2828 install-yarn : true
29- node-version : ' v18.17.0 '
29+ node-version : ' v20.11.1 '
3030 - node/install-packages :
3131 pkg-manager : yarn
3232 # Network concurrency is set to 1 for installation from GitHub to work.
@@ -50,16 +50,20 @@ commands:
5050 key : v1-pods-{{ checksum "<< parameters.working_directory >>/Podfile.lock" }}
5151 paths :
5252 - << parameters.working_directory >>/Pods
53- search_and_replace :
53+ find_and_replace :
5454 parameters :
55- file :
55+ files :
56+ description : A space-separated list of files to search and replace in.
5657 type : string
57- replace-pattern :
58+ search :
59+ type : string
60+ replace :
5861 type : string
5962 steps :
6063 - run :
61- name : Search and Replace in << parameters.file >>
62- command : sed -i '<< parameters.replace-pattern >>' << parameters.file >>
64+ name : Find and Replace in << parameters.files >>
65+ command : node ~/project/scripts/replace.js << parameters.search >> << parameters.replace >> << parameters.files >>
66+
6367 notify_github :
6468 parameters :
6569 data :
@@ -113,13 +117,13 @@ jobs:
113117 test_android :
114118 executor :
115119 name : android/android-machine
116- tag : ' 2022.03.1 '
120+ tag : default
117121 working_directory : ~/project/examples/default
118122 environment :
119123 INSTABUG_SOURCEMAPS_UPLOAD_DISABLE : true
120124 steps :
121125 - advanced-checkout/shallow-checkout
122- - node/install-yarn
126+ # - node/install-yarn
123127 - install_node_modules
124128 - android/run-tests :
125129 working-directory : android
@@ -227,13 +231,13 @@ jobs:
227231 e2e_android :
228232 executor :
229233 name : android/android-machine
230- tag : 2022.03.1
234+ tag : default
231235 resource-class : large
232236 environment :
233237 INSTABUG_SOURCEMAPS_UPLOAD_DISABLE : true
234238 steps :
235239 - advanced-checkout/shallow-checkout
236- - node/install-yarn
240+ # - node/install-yarn
237241 - install_node_modules
238242 - node/install-packages :
239243 pkg-manager : yarn
@@ -258,8 +262,14 @@ jobs:
258262 working_directory : examples/default
259263 command : detox test -c android.emu.release
260264
261- # Automate the enterprise NN sdk changes
262- release_nn :
265+ release_custom_package :
266+ parameters :
267+ npm_package :
268+ type : string
269+ android_package :
270+ type : string
271+ api_endpoint :
272+ type : string
263273 working_directory : ~/project
264274 executor :
265275 name : node/default
@@ -269,24 +279,28 @@ jobs:
269279 - run :
270280 name : Remove README.md file
271281 command : rm README.md
272- - search_and_replace :
273- file : package.json
274- replace-pattern : ' s/instabug-reactnative/@instabug\/react-native-nn/g'
275- - search_and_replace :
276- file : cli/UploadSourcemaps.ts
277- replace-pattern : ' s/api.instabug.com\/api\/sdk/st001009nn.instabug.com\/api\/sdk/g'
278- - search_and_replace :
279- file : android/native.gradle
280- replace-pattern : ' s/com\.instabug\.library:instabug:/com.instabug.library-nn:instabug:/g'
282+ - find_and_replace :
283+ files : package.json android/sourcemaps.gradle ios/sourcemaps.sh
284+ search : instabug-reactnative
285+ replace : << parameters.npm_package >>
286+ - find_and_replace :
287+ files : cli/UploadSourcemaps.ts cli/UploadSoFiles.ts
288+ search : api.instabug.com
289+ replace : << parameters.api_endpoint >>
290+ - find_and_replace :
291+ files : android/native.gradle
292+ search : ' com.instabug.library:instabug:'
293+ replace : ' com.instabug.library-<< parameters.android_package >>:instabug:'
281294 - run :
282295 name : Build the SDK
283296 command : yarn build
284297 - run :
285- name : Authorize with npm
298+ name : Authorize with NPM
286299 command : echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > ~/.npmrc
287300 - run :
288301 name : Publish new enterprise version
289302 command : npm publish
303+
290304 # Automate the enterprise D11 sdk changes
291305 release_d11 :
292306 working_directory : ~/project
@@ -298,15 +312,18 @@ jobs:
298312 - run :
299313 name : Remove README.md file
300314 command : rm README.md
301- - search_and_replace :
302- file : package.json
303- replace-pattern : ' s/instabug-reactnative/@instabug\/instabug-reactnative-dream11/g'
304- - search_and_replace :
305- file : cli/UploadSourcemaps.ts
306- replace-pattern : ' s/api.instabug.com\/api\/sdk/st001012dream11.instabug.com\/api\/sdk/g'
307- - search_and_replace :
308- file : android/native.gradle
309- replace-pattern : ' s/com\.instabug\.library:instabug:/com.instabug.library-dream11:instabug:/g'
315+ - find_and_replace :
316+ files : package.json ios/sourcemaps.sh android/sourcemaps.gradle
317+ search : instabug-reactnative
318+ replace : ' @instabug/instabug-reactnative-dream11'
319+ - find_and_replace :
320+ files : cli/UploadSourcemaps.ts cli/UploadSoFiles.ts
321+ search : api.instabug.com
322+ replace : st001012dream11.instabug.com
323+ - find_and_replace :
324+ files : android/native.gradle
325+ search : com.instabug.library:instabug
326+ replace : ' com.instabug.library-dream11:instabug'
310327 - run :
311328 name : give exec permssion to d11 script
312329 command : chmod +x ./scripts/dream-11-delete-unused-features.sh
@@ -345,6 +362,31 @@ jobs:
345362 - run :
346363 working_directory : project
347364 command : Escape react-native publish
365+ publish_new_namespace :
366+ working_directory : ~/project
367+ executor :
368+ name : node/default
369+ steps :
370+ - advanced-checkout/shallow-checkout
371+ - find_and_replace :
372+ files : package.json
373+ search : instabug-reactnative
374+ replace : ' @instabug/react-native'
375+ - run : git clone git@github.com:Instabug/Escape.git
376+ - run :
377+ working_directory : Escape
378+ command : swift build -c release
379+ - run :
380+ working_directory : Escape/.build/release
381+ command : cp -f Escape /usr/local/bin/escape
382+ - install_node_modules :
383+ app-dir : project
384+ - run :
385+ working_directory : project
386+ command : yarn build
387+ - run :
388+ working_directory : project
389+ command : Escape react-native publish
348390
349391 generate_snapshot :
350392 executor :
@@ -415,7 +457,7 @@ workflows:
415457 filters :
416458 branches :
417459 only : master
418- - hold_release_nn :
460+ - hold_publish_new_namespace :
419461 requires : *release_dependencies
420462 type : approval
421463 filters :
@@ -430,12 +472,32 @@ workflows:
430472 filters :
431473 branches :
432474 only : master
433- - release_nn :
475+ - publish_new_namespace :
434476 requires :
435- - hold_release_nn
477+ - hold_publish_new_namespace
436478 filters :
437479 branches :
438480 only : master
481+ - hold_release_nn :
482+ requires : *release_dependencies
483+ type : approval
484+ - release_custom_package :
485+ name : release_nn
486+ requires :
487+ - hold_release_nn
488+ npm_package : ' @instabug/react-native-nn'
489+ android_package : nn
490+ api_endpoint : st001009nn.instabug.com
491+ - hold_release_injazat :
492+ requires : *release_dependencies
493+ type : approval
494+ - release_custom_package :
495+ name : release_injazat
496+ requires :
497+ - hold_release_injazat
498+ npm_package : ' @instabug/react-native-injazat'
499+ android_package : injazat
500+ api_endpoint : st001013mec1.instabug.com
439501 - release_d11 :
440502 requires :
441503 - hold_release_d11
0 commit comments