-
Notifications
You must be signed in to change notification settings - Fork 1
168 lines (145 loc) · 4.12 KB
/
deploy-production.yml
File metadata and controls
168 lines (145 loc) · 4.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
name: Deploy Production
on:
push:
branches: main
concurrency:
group: "cloudflare-pages-production"
cancel-in-progress: false
jobs:
build-website:
name: Build Website
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: latest
cache: npm
- name: Install Packages
run: npm ci
shell: bash
- name: Build
run: npx lerna run build --scope=@dot-tutor/website
shell: bash
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: website-production
path: website/dist
deploy-website:
name: Deploy to Cloudflare Pages
runs-on: ubuntu-latest
permissions:
contents: read
deployments: write
needs: build-website
steps:
- name: Dowload Artifact
uses: actions/download-artifact@v4
with:
name: website-production
path: website/dist
- name: Publish to Cloudflare Pages
uses: cloudflare/pages-action@v1
with:
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
projectName: dot-tutor-website-production
directory: dist
gitHubToken: ${{ secrets.GITHUB_TOKEN }}
workingDirectory: website
wranglerVersion: "3"
build-learn:
name: Build Learn
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: latest
cache: npm
- name: Install Packages
run: npm ci
shell: bash
- name: Build
run: npx lerna run build --scope=@dot-tutor/learn
shell: bash
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: learn-production
path: learn/out
deploy-learn:
name: Deploy to Cloudflare Pages
runs-on: ubuntu-latest
permissions:
contents: read
deployments: write
needs: build-learn
steps:
- name: Dowload Artifact
uses: actions/download-artifact@v4
with:
name: learn-production
path: learn/out
- name: Publish to Cloudflare Pages
uses: cloudflare/pages-action@v1
with:
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
projectName: dot-tutor-learn-production
directory: out
gitHubToken: ${{ secrets.GITHUB_TOKEN }}
workingDirectory: learn
wranglerVersion: "3"
build-translate:
name: Build Translate
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: latest
cache: npm
- name: Install Packages
run: npm ci
shell: bash
- name: Build
run: npx lerna run build --scope=@dot-tutor/translate
shell: bash
env:
VITE_API_ENDPOINT: "https://dot-tutor-backend.onrender.com"
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: translate-production
path: translate/dist
deploy-translate:
name: Deploy to Cloudflare Pages
runs-on: ubuntu-latest
permissions:
contents: read
deployments: write
needs: build-translate
steps:
- name: Dowload Artifact
uses: actions/download-artifact@v4
with:
name: translate-production
path: translate/dist
- name: Publish to Cloudflare Pages
uses: cloudflare/pages-action@v1
with:
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
projectName: dot-tutor-translate-production
directory: dist
gitHubToken: ${{ secrets.GITHUB_TOKEN }}
workingDirectory: translate
wranglerVersion: "3"