Skip to content

Commit ca464b3

Browse files
authored
Merge pull request #28 from GetStream/develop
Release WA clone maintenance changes
2 parents 381b91f + bf649d8 commit ca464b3

File tree

211 files changed

+4614
-2793
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

211 files changed

+4614
-2793
lines changed

.github/auto-merge.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# configuration of probot-auto-merge
2+
# see more: https://github.com/bobvanderlinden/probot-auto-merge
3+
minApprovals:
4+
NONE: 0
5+
requiredLabels:
6+
- regex: .+-dependencies$
7+
updateBranch: true
8+
mergeMethod: rebase
9+
deleteBranchAfterMerge: true

.github/dependabot.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: "npm"
4+
directory: "projects/iMessageClone"
5+
schedule:
6+
interval: "daily"
7+
allow:
8+
- dependency-name: "stream-chat-react-native"
9+
labels:
10+
- imessageclone-dependencies
11+
- package-ecosystem: "npm"
12+
directory: "projects/SlackClone"
13+
schedule:
14+
interval: "daily"
15+
allow:
16+
- dependency-name: "stream-chat-react-native"
17+
labels:
18+
- slackclone-dependencies
19+
- package-ecosystem: "npm"
20+
directory: "projects/WhatsAppClone"
21+
schedule:
22+
interval: "daily"
23+
allow:
24+
- dependency-name: "stream-chat-react-native"
25+
labels:
26+
- whatsappclone-dependencies

.github/workflows/release.yml

Lines changed: 324 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,324 @@
1+
name: React Native Release
2+
3+
on:
4+
push:
5+
paths:
6+
- "projects/**"
7+
branches:
8+
- automated-deployment
9+
10+
jobs:
11+
deploy_imessageclone_ios:
12+
name: Deploy iMessage clone iOS to Firebase App Distribution
13+
runs-on: macos-latest
14+
steps:
15+
- uses: actions/checkout@master
16+
with:
17+
persist-credentials: false
18+
fetch-depth: 0
19+
- name: Install Ruby and Gems
20+
uses: ruby/setup-ruby@v1
21+
with:
22+
working-directory: projects/iMessageClone
23+
bundler-cache: true
24+
- name: Install Yarn dependencies
25+
uses: nick-invision/retry@v2
26+
with:
27+
timeout_minutes: 10
28+
max_attempts: 3
29+
command: |
30+
cd projects/iMessageClone;
31+
yarn install --frozen-lockfile;
32+
- name: Cache pods
33+
uses: actions/cache@v2
34+
with:
35+
path: projects/iMessageClone/ios/Pods
36+
key: ${{ runner.os }}-iMessageClone-pods-${{ hashFiles('projects/iMessageClone/ios/Podfile.lock') }}
37+
restore-keys: |
38+
${{ runner.os }}-pods-
39+
- name: iOS pods setup
40+
uses: nick-invision/retry@v2
41+
with:
42+
timeout_minutes: 30
43+
max_attempts: 3
44+
command: |
45+
cd projects/iMessageClone/ios;
46+
bundle exec pod install;
47+
- name: Build and deploy
48+
env:
49+
MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
50+
MATCH_GIT_BASIC_AUTHORIZATION: ${{ secrets.MATCH_GIT_BASIC_AUTHORIZATION }}
51+
FIREBASE_TOKEN: ${{ secrets.FIREBASE_APP_DISTRIBUTION_TOKEN }}
52+
run: |
53+
cd projects/iMessageClone;
54+
bundle exec fastlane ios deploy_to_firebase branch:${{ github.head_ref || github.ref_name }};
55+
56+
deploy_slackclone_ios:
57+
name: Deploy Slack clone iOS to Firebase App Distribution
58+
runs-on: macos-latest
59+
steps:
60+
- uses: actions/checkout@master
61+
with:
62+
persist-credentials: false
63+
fetch-depth: 0
64+
- name: Install Ruby and Gems
65+
uses: ruby/setup-ruby@v1
66+
with:
67+
working-directory: projects/SlackClone
68+
bundler-cache: true
69+
- name: Install Yarn dependencies
70+
uses: nick-invision/retry@v2
71+
with:
72+
timeout_minutes: 10
73+
max_attempts: 3
74+
command: |
75+
cd projects/SlackClone;
76+
yarn install --frozen-lockfile;
77+
- name: Cache pods
78+
uses: actions/cache@v2
79+
with:
80+
path: projects/SlackClone/ios/Pods
81+
key: ${{ runner.os }}-SlackClone-pods-${{ hashFiles('projects/SlackClone/ios/Podfile.lock') }}
82+
restore-keys: |
83+
${{ runner.os }}-pods-
84+
- name: iOS pods setup
85+
uses: nick-invision/retry@v2
86+
with:
87+
timeout_minutes: 30
88+
max_attempts: 3
89+
command: |
90+
cd projects/SlackClone/ios;
91+
bundle exec pod install;
92+
- name: Build and deploy
93+
env:
94+
MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
95+
MATCH_GIT_BASIC_AUTHORIZATION: ${{ secrets.MATCH_GIT_BASIC_AUTHORIZATION }}
96+
FIREBASE_TOKEN: ${{ secrets.FIREBASE_APP_DISTRIBUTION_TOKEN }}
97+
run: |
98+
cd projects/SlackClone;
99+
bundle exec fastlane ios deploy_to_firebase branch:${{ github.head_ref || github.ref_name }};
100+
101+
deploy_whatsappclone_ios:
102+
name: Deploy Whatsapp clone iOS to Firebase App Distribution
103+
runs-on: macos-latest
104+
steps:
105+
- uses: actions/checkout@master
106+
with:
107+
persist-credentials: false
108+
fetch-depth: 0
109+
- name: Install Ruby and Gems
110+
uses: ruby/setup-ruby@v1
111+
with:
112+
working-directory: projects/WhatsAppClone
113+
bundler-cache: true
114+
- name: Install Yarn dependencies
115+
uses: nick-invision/retry@v2
116+
with:
117+
timeout_minutes: 10
118+
max_attempts: 3
119+
command: |
120+
cd projects/WhatsAppClone;
121+
yarn install --frozen-lockfile;
122+
- name: Cache pods
123+
uses: actions/cache@v2
124+
with:
125+
path: projects/WhatsAppClone/ios/Pods
126+
key: ${{ runner.os }}-WhatsAppClone-pods-${{ hashFiles('projects/WhatsAppClone/ios/Podfile.lock') }}
127+
restore-keys: |
128+
${{ runner.os }}-pods-
129+
- name: iOS pods setup
130+
uses: nick-invision/retry@v2
131+
with:
132+
timeout_minutes: 30
133+
max_attempts: 3
134+
command: |
135+
cd projects/WhatsAppClone/ios;
136+
bundle exec pod install;
137+
- name: Build and deploy
138+
env:
139+
MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
140+
MATCH_GIT_BASIC_AUTHORIZATION: ${{ secrets.MATCH_GIT_BASIC_AUTHORIZATION }}
141+
FIREBASE_TOKEN: ${{ secrets.FIREBASE_APP_DISTRIBUTION_TOKEN }}
142+
run: |
143+
cd projects/WhatsAppClone;
144+
bundle exec fastlane ios deploy_to_firebase branch:${{ github.head_ref || github.ref_name }};
145+
146+
deploy_imessageclone_android:
147+
name: Deploy iMessage clone Android to Firebase App Distribution
148+
runs-on: ubuntu-latest
149+
steps:
150+
- uses: actions/checkout@master
151+
with:
152+
persist-credentials: false
153+
fetch-depth: 0
154+
- name: Install Ruby and Gems
155+
uses: ruby/setup-ruby@v1
156+
with:
157+
working-directory: projects/iMessageClone
158+
bundler-cache: true
159+
- uses: actions/setup-java@v3
160+
with:
161+
distribution: "zulu"
162+
java-version: "11"
163+
check-latest: true
164+
- name: Install Yarn dependencies
165+
uses: nick-invision/retry@v2
166+
with:
167+
timeout_minutes: 10
168+
max_attempts: 3
169+
command: |
170+
cd projects/iMessageClone;
171+
yarn install --frozen-lockfile;
172+
- name: Cache Gradle
173+
uses: actions/cache@v3
174+
with:
175+
path: |
176+
~/.gradle/caches
177+
~/.gradle/wrapper
178+
key: ${{ runner.os }}-iMessageClone-gradle-${{ hashFiles('projects/iMessageClone/*.gradle*', 'projects/iMessageClone/gradle-wrapper.properties') }}
179+
restore-keys: |
180+
${{ runner.os }}-gradle-
181+
- name: Build and deploy
182+
env:
183+
FIREBASE_TOKEN: ${{ secrets.FIREBASE_APP_DISTRIBUTION_TOKEN }}
184+
run: |
185+
cd projects/iMessageClone;
186+
bundle exec fastlane android deploy_to_firebase branch:${{ github.head_ref || github.ref_name }};
187+
188+
deploy_slackclone_android:
189+
name: Deploy Slack clone Android to Firebase App Distribution
190+
runs-on: ubuntu-latest
191+
steps:
192+
- uses: actions/checkout@master
193+
with:
194+
persist-credentials: false
195+
fetch-depth: 0
196+
- name: Install Ruby and Gems
197+
uses: ruby/setup-ruby@v1
198+
with:
199+
working-directory: projects/SlackClone
200+
bundler-cache: true
201+
- uses: actions/setup-java@v3
202+
with:
203+
distribution: "zulu"
204+
java-version: "11"
205+
check-latest: true
206+
- name: Install Yarn dependencies
207+
uses: nick-invision/retry@v2
208+
with:
209+
timeout_minutes: 10
210+
max_attempts: 3
211+
command: |
212+
cd projects/SlackClone;
213+
yarn install --frozen-lockfile;
214+
- name: Cache Gradle
215+
uses: actions/cache@v3
216+
with:
217+
path: |
218+
~/.gradle/caches
219+
~/.gradle/wrapper
220+
key: ${{ runner.os }}-gradle-${{ hashFiles('projects/SlackClone/*.gradle*', 'projects/SlackClone/gradle-wrapper.properties') }}
221+
restore-keys: |
222+
${{ runner.os }}-gradle-
223+
- name: Build and deploy
224+
env:
225+
FIREBASE_TOKEN: ${{ secrets.FIREBASE_APP_DISTRIBUTION_TOKEN }}
226+
run: |
227+
cd projects/SlackClone;
228+
bundle exec fastlane android deploy_to_firebase branch:${{ github.head_ref || github.ref_name }};
229+
230+
deploy_whatsappclone_android:
231+
name: Deploy WhatsApp clone Android to Firebase App Distribution
232+
runs-on: ubuntu-latest
233+
steps:
234+
- uses: actions/checkout@master
235+
with:
236+
persist-credentials: false
237+
fetch-depth: 0
238+
- name: Install Ruby and Gems
239+
uses: ruby/setup-ruby@v1
240+
with:
241+
working-directory: projects/WhatsAppClone
242+
bundler-cache: true
243+
- uses: actions/setup-java@v3
244+
with:
245+
distribution: "zulu"
246+
java-version: "11"
247+
check-latest: true
248+
- name: Install Yarn dependencies
249+
uses: nick-invision/retry@v2
250+
with:
251+
timeout_minutes: 10
252+
max_attempts: 3
253+
command: |
254+
cd projects/WhatsAppClone;
255+
yarn install --frozen-lockfile;
256+
- name: Cache Gradle
257+
uses: actions/cache@v3
258+
with:
259+
path: |
260+
~/.gradle/caches
261+
~/.gradle/wrapper
262+
key: ${{ runner.os }}-WhatsAppClone-gradle-${{ hashFiles('projects/WhatsAppClone/*.gradle*', 'projects/WhatsAppClone/gradle-wrapper.properties') }}
263+
restore-keys: |
264+
${{ runner.os }}-gradle-
265+
- name: Build and deploy
266+
env:
267+
FIREBASE_TOKEN: ${{ secrets.FIREBASE_APP_DISTRIBUTION_TOKEN }}
268+
run: |
269+
cd projects/WhatsAppClone;
270+
bundle exec fastlane android deploy_to_firebase branch:${{ github.head_ref || github.ref_name }};
271+
272+
push_version_changes:
273+
name: Push version code updates
274+
runs-on: macos-latest
275+
needs:
276+
[
277+
deploy_imessageclone_ios,
278+
deploy_slackclone_ios,
279+
deploy_whatsappclone_ios,
280+
deploy_imessageclone_android,
281+
deploy_slackclone_android,
282+
deploy_whatsappclone_android,
283+
]
284+
steps:
285+
- uses: actions/checkout@master
286+
with:
287+
persist-credentials: false
288+
fetch-depth: 0
289+
- name: Install Ruby and Gems for iMessageClone
290+
uses: ruby/setup-ruby@v1
291+
with:
292+
working-directory: projects/iMessageClone
293+
bundler-cache: true
294+
- name: Build and deploy iMessageClone
295+
run: |
296+
cd projects/iMessageClone;
297+
bundle exec fastlane run increment_build_number xcodeproj:"./ios/iMessageCloneReactNative.xcodeproj";
298+
bundle exec fastlane run increment_version_code gradle_file_path:"./android/app/build.gradle";
299+
- name: Install Ruby and Gems for Slack Clone
300+
uses: ruby/setup-ruby@v1
301+
with:
302+
working-directory: projects/SlackClone
303+
bundler-cache: true
304+
- name: Build and deploy SlackClone
305+
run: |
306+
cd projects/WhatsAppClone;
307+
bundle exec fastlane run increment_build_number xcodeproj:"./ios/SlackCloneReactNative.xcodeproj";
308+
bundle exec fastlane run increment_version_code gradle_file_path:"./android/app/build.gradle";
309+
- name: Install Ruby and Gems for Slack Clone
310+
uses: ruby/setup-ruby@v1
311+
with:
312+
working-directory: projects/WhatsAppClone
313+
bundler-cache: true
314+
- name: Build and deploy WhatsAppClone
315+
run: |
316+
cd projects/WhatsAppClone;
317+
bundle exec fastlane run increment_build_number xcodeproj:"./ios/WhatsAppCloneReactNative.xcodeproj";
318+
bundle exec fastlane run increment_version_code gradle_file_path:"./android/app/build.gradle";
319+
- name: Commit & Push changes
320+
uses: actions-js/push@master
321+
with:
322+
message: "chore: bump iOS and Android version [skip ci]"
323+
github_token: ${{ secrets.GITHUB_TOKEN }}
324+
branch: ${{ github.head_ref || github.ref_name }}

projects/SlackClone/.bundle/config

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
BUNDLE_PATH: "vendor/bundle"
2+
BUNDLE_FORCE_RUBY_PLATFORM: 1

projects/SlackClone/.gitignore

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ build/
2828
.gradle
2929
local.properties
3030
*.iml
31+
*.hprof
3132

3233
# node.js
3334
#
@@ -48,15 +49,14 @@ buck-out/
4849
# For more information about the recommended setup visit:
4950
# https://docs.fastlane.tools/best-practices/source-control/
5051

51-
*/fastlane/report.xml
52-
*/fastlane/Preview.html
53-
*/fastlane/screenshots
52+
/fastlane/report.xml
53+
/fastlane/Preview.html
54+
/fastlane/screenshots
55+
/dist
5456

5557
# Bundle artifact
5658
*.jsbundle
5759

58-
# CocoaPods
60+
# Ruby / CocoaPods
5961
/ios/Pods/
60-
61-
# env
62-
.env
62+
/vendor/bundle/

projects/SlackClone/.ruby-version

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
2.7.5

0 commit comments

Comments
 (0)