Skip to content

Commit fca668e

Browse files
committed
Merge branch 'main' into dev
2 parents 00d060c + 1e73b06 commit fca668e

File tree

3 files changed

+448
-0
lines changed

3 files changed

+448
-0
lines changed

.circleci/config.yml

Lines changed: 228 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,228 @@
1+
version: 2.1
2+
3+
orbs:
4+
android: circleci/[email protected]
5+
node: circleci/[email protected]
6+
win: circleci/[email protected]
7+
8+
jobs:
9+
deploy-macos:
10+
macos:
11+
xcode: 14.2.0
12+
steps:
13+
- checkout
14+
- node/install:
15+
install-yarn: false
16+
node-version: '20.9.0'
17+
- run:
18+
name: Install pnpm package manager
19+
command: npm install -g pnpm@latest
20+
- restore_cache:
21+
name: Restore pnpm Package Cache
22+
keys:
23+
- &deploy-macos-pnpm-cache macos-pnpm-packages-{{ checksum "pnpm-lock.yaml" }}
24+
- run:
25+
name: Install node dependencies
26+
command: pnpm install
27+
- save_cache:
28+
name: Save pnpm Package Cache
29+
key: *deploy-macos-pnpm-cache
30+
paths:
31+
- node_modules
32+
- run:
33+
name: Build packages
34+
command: pnpm run repo:build
35+
- run:
36+
name: Build Electron app
37+
command: pnpm run build:electron:publish
38+
39+
deploy-win:
40+
executor:
41+
name: win/default
42+
shell: bash.exe
43+
steps:
44+
- checkout
45+
- run:
46+
name: Install Node.js 18
47+
command: nvm install 18 && nvm use 18
48+
- run:
49+
name: Install pnpm package manager
50+
command: npm install -g pnpm@latest
51+
- run:
52+
name: Install node dependencies
53+
command: pnpm install
54+
- run:
55+
name: Build packages
56+
command: pnpm run repo:build
57+
- run:
58+
name: Build AppX
59+
command: |
60+
unset CSC_LINK
61+
unset CSC_KEY_PASSWORD
62+
pnpm run build:electron:publish
63+
64+
deploy-linux:
65+
docker:
66+
- image: node:18
67+
resource_class: large
68+
steps:
69+
- checkout
70+
- run:
71+
name: Install pnpm package manager
72+
command: npm install -g pnpm@latest
73+
- restore_cache:
74+
name: Restore pnpm Package Cache
75+
keys:
76+
- &deploy-linux-pnpm-cache node:18-pnpm-packages-{{ checksum "pnpm-lock.yaml" }}
77+
- run:
78+
name: Install node dependencies
79+
command: pnpm install
80+
- save_cache:
81+
name: Save pnpm Package Cache
82+
key: *deploy-linux-pnpm-cache
83+
paths:
84+
- node_modules
85+
- run:
86+
name: Build packages
87+
command: pnpm run repo:build
88+
- run:
89+
name: Build Linux app
90+
command: pnpm run build:electron:publish
91+
92+
deploy-android:
93+
docker:
94+
- image: cimg/android:2022.07
95+
environment:
96+
JAVA_HOME: /usr/lib/jvm/java-17-openjdk-amd64
97+
resource_class: large
98+
steps:
99+
- checkout
100+
- run:
101+
name: Install OpenJDK 17
102+
command: |
103+
sudo apt-get update && sudo apt-get install openjdk-17-jdk
104+
sudo update-alternatives --set java /usr/lib/jvm/java-17-openjdk-amd64/bin/java
105+
sudo update-alternatives --set javac /usr/lib/jvm/java-17-openjdk-amd64/bin/javac
106+
java -version
107+
- node/install:
108+
install-yarn: false
109+
node-version: '20.9.0'
110+
- run:
111+
name: Install pnpm package manager
112+
command: npm install -g pnpm@latest
113+
- restore_cache:
114+
name: Restore pnpm Package Cache
115+
keys:
116+
- &deploy-android-pnpm-cache cimg/android:2022.07-pnpm-packages-{{ checksum "pnpm-lock.yaml" }}
117+
- run:
118+
name: Install node dependencies
119+
command: pnpm install
120+
- save_cache:
121+
name: Save pnpm Package Cache
122+
key: *deploy-android-pnpm-cache
123+
paths:
124+
- node_modules
125+
- run:
126+
name: Build packages
127+
command: pnpm run repo:build
128+
- run:
129+
name: Build Android app
130+
command: pnpm run build:android
131+
- run:
132+
name: Install Fastlane
133+
command: sudo gem install fastlane
134+
- run:
135+
name: Create Android keystore
136+
command: |
137+
cd apps/client/src-capacitor/android/app
138+
echo $BASE64_KEYSTORE | base64 -d > deepnotes.keystore
139+
ls
140+
- run:
141+
name: Create keystore.properties
142+
command: |
143+
cd apps/client/src-capacitor/android
144+
printf 'releaseKeyAlias=%s\nreleaseKeyPassword=%s\nreleaseKeyStore=%s\nreleaseStorePassword=%s' \
145+
$RELEASE_KEY_ALIAS $RELEASE_KEY_PASSWORD $RELEASE_KEYSTORE $RELEASE_STORE_PASSWORD > keystore.properties
146+
ls
147+
- run:
148+
name: Create Google Play key
149+
command: |
150+
cd apps/client/src-capacitor/android/fastlane
151+
echo $GOOGLE_PLAY_KEY > deepnotes-google-api-secret.json
152+
ls
153+
- run: |
154+
cd apps/client/src-capacitor/android
155+
bundle install
156+
- run: |
157+
cd apps/client/src-capacitor/android
158+
bundle exec fastlane playstore
159+
160+
deploy-ios:
161+
macos:
162+
xcode: 14.2.0
163+
steps:
164+
- checkout
165+
- node/install:
166+
install-yarn: false
167+
node-version: '20.9.0'
168+
- run:
169+
name: Install pnpm package manager
170+
command: npm install -g pnpm@latest
171+
- restore_cache:
172+
name: Restore pnpm Package Cache
173+
keys:
174+
- &deploy-macos-pnpm-cache macos-pnpm-packages-{{ checksum "pnpm-lock.yaml" }}
175+
- run:
176+
name: Install node dependencies
177+
command: pnpm install
178+
- save_cache:
179+
name: Save pnpm Package Cache
180+
key: *deploy-macos-pnpm-cache
181+
paths:
182+
- node_modules
183+
- run:
184+
name: Build packages
185+
command: pnpm run repo:build
186+
- run:
187+
name: Build iOS app
188+
command: pnpm run build:ios
189+
- run:
190+
name: Install Ruby bundle
191+
command: |
192+
cd apps/client/src-capacitor/ios/App
193+
bundle install
194+
- run:
195+
name: Run Fastlane
196+
command: |
197+
cd apps/client/src-capacitor/ios/App
198+
bundle exec fastlane upload_release
199+
200+
workflows:
201+
version: 2
202+
203+
deploy:
204+
jobs:
205+
- deploy-linux:
206+
filters:
207+
branches:
208+
only: main
209+
210+
- deploy-win:
211+
filters:
212+
branches:
213+
only: main
214+
215+
- deploy-macos:
216+
filters:
217+
branches:
218+
only: main
219+
220+
- deploy-android:
221+
filters:
222+
branches:
223+
only: main
224+
225+
- deploy-ios:
226+
filters:
227+
branches:
228+
only: main
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
source "https://rubygems.org"
2+
3+
gem "fastlane"

0 commit comments

Comments
 (0)