@@ -136,7 +136,7 @@ jobs:
136
136
PR_TITLE : ${{ needs.pr_commented.outputs.PR_TITLE }}
137
137
PR_URL : ${{ needs.pr_commented.outputs.PR_URL }}
138
138
PR_BRANCH : ${{ needs.pr_commented.outputs.PR_BRANCH }}
139
- PR_DEPLOYMENT_ACCESS_URL : " https:// pr${{ needs.pr_commented.outputs.PR_NUMBER }}.${{ secrets.PR_DEPLOYMENTS_DOMAIN }}"
139
+ PR_DEPLOYMENT_ACCESS_URL : " pr${{ needs.pr_commented.outputs.PR_NUMBER }}.${{ secrets.PR_DEPLOYMENTS_DOMAIN }}"
140
140
steps :
141
141
- name : Check if image exists
142
142
run : |
@@ -154,11 +154,7 @@ jobs:
154
154
curl -X POST "https://api.cloudflare.com/client/v4/zones/${{ secrets.PR_DEPLOYMENTS_ZONE_ID }}/dns_records" \
155
155
-H "Authorization: Bearer ${{ secrets.PR_DEPLOYMENTS_CLOUDFLARE_API_TOKEN }}" \
156
156
-H "Content-Type:application/json" \
157
- --data '{"type":"A","name":"*.pr${{ env.PR_NUMBER }}.${{ secrets.PR_DEPLOYMENTS_DOMAIN }}","content":"${{ secrets.PR_DEPLOYMENTS_CLUSTER_IP_1 }}","ttl":1,"proxied":false}'
158
- curl -X POST "https://api.cloudflare.com/client/v4/zones/${{ secrets.PR_DEPLOYMENTS_ZONE_ID }}/dns_records" \
159
- -H "Authorization: Bearer ${{ secrets.PR_DEPLOYMENTS_CLOUDFLARE_API_TOKEN }}" \
160
- -H "Content-Type:application/json" \
161
- --data '{"type":"A","name":"*.pr${{ env.PR_NUMBER }}.${{ secrets.PR_DEPLOYMENTS_DOMAIN }}","content":"${{ secrets.PR_DEPLOYMENTS_CLUSTER_IP_2 }}","ttl":1,"proxied":false}'
157
+ --data '{"type":"CNAME","name":"*.${{ env.PR_DEPLOYMENT_ACCESS_URL }}","content":"${{ env.PR_DEPLOYMENT_ACCESS_URL }}","ttl":1,"proxied":false}'
162
158
163
159
- name : Checkout
164
160
uses : actions/checkout@v3
@@ -192,11 +188,21 @@ jobs:
192
188
spec:
193
189
tls:
194
190
- hosts:
195
- - "${{ secrets.PR_DEPLOYMENTS_DOMAIN }}"
196
- - "*.${{ secrets.PR_DEPLOYMENTS_DOMAIN }}"
191
+ - "${{ env.PR_DEPLOYMENT_ACCESS_URL }}"
192
+ - "*.${{ env.PR_DEPLOYMENT_ACCESS_URL }}"
197
193
secretName: pr${{ env.PR_NUMBER }}-tls
198
194
rules:
199
- - host: "pr${{ env.PR_NUMBER }}.${{ secrets.PR_DEPLOYMENTS_DOMAIN }}"
195
+ - host: "${{ env.PR_DEPLOYMENT_ACCESS_URL }}"
196
+ http:
197
+ paths:
198
+ - pathType: Prefix
199
+ path: "/"
200
+ backend:
201
+ service:
202
+ name: coder
203
+ port:
204
+ number: 80
205
+ - host: "*.${{ env.PR_DEPLOYMENT_ACCESS_URL }}"
200
206
http:
201
207
paths:
202
208
- pathType: Prefix
@@ -233,9 +239,9 @@ jobs:
233
239
type: ClusterIP
234
240
env:
235
241
- name: "CODER_ACCESS_URL"
236
- value: "https://pr ${{ env.PR_NUMBER }}.${{ secrets.PR_DEPLOYMENTS_DOMAIN }}"
242
+ value: "https://${{ env.PR_DEPLOYMENT_ACCESS_URL }}"
237
243
- name: "CODER_WILDCARD_ACCESS_URL"
238
- value: "*--pr ${{ env.PR_NUMBER }}.${{ secrets.PR_DEPLOYMENTS_DOMAIN }}"
244
+ value: "*. ${{ env.PR_DEPLOYMENT_ACCESS_URL }}"
239
245
- name: "CODER_EXPERIMENTS"
240
246
value: "*"
241
247
- name: CODER_PG_CONNECTION_URL
@@ -272,7 +278,7 @@ jobs:
272
278
set -euxo pipefail
273
279
274
280
DEST="${HOME}/coder"
275
- URL="${{ env.PR_DEPLOYMENT_ACCESS_URL }}/bin/coder-linux-amd64"
281
+ URL="https:// ${{ env.PR_DEPLOYMENT_ACCESS_URL }}/bin/coder-linux-amd64"
276
282
277
283
mkdir -p "$(dirname ${DEST})"
278
284
@@ -290,6 +296,7 @@ jobs:
290
296
curl -fsSL "$URL" -o "${DEST}"
291
297
chmod +x "${DEST}"
292
298
"${DEST}" version
299
+ mv "${DEST}" /home/usr/bin/coder
293
300
294
301
- name : Create first user, template and workspace
295
302
id : setup_deployment
@@ -305,16 +312,16 @@ jobs:
305
312
echo "::add-mask::$password"
306
313
echo "password=$password" >> $GITHUB_OUTPUT
307
314
308
- /home/runner/ coder login \
315
+ coder login \
309
316
--first-user-username pr${{ env.PR_NUMBER }} \
310
- --first-user-email ${{ env.PR_NUMBER }}@coder.com \
317
+ --first-user-email pr ${{ env.PR_NUMBER }}@coder.com \
311
318
--first-user-password $password \
312
319
--first-user-trial \
313
320
--use-token-as-session \
314
- ${{ env.PR_DEPLOYMENT_ACCESS_URL }}
321
+ https:// ${{ env.PR_DEPLOYMENT_ACCESS_URL }}
315
322
316
323
# Create template
317
- /home/runner/ coder templates init --id kubernetes && cd ./kubernetes/ && /home/runner/coder templates create -y --variable namespace=pr${{ env.PR_NUMBER }}
324
+ coder templates init --id kubernetes && cd ./kubernetes/ && /home/runner/coder templates create -y --variable namespace=pr${{ env.PR_NUMBER }}
318
325
319
326
# Create workspace
320
327
cat <<EOF > workspace.yaml
@@ -323,8 +330,8 @@ jobs:
323
330
home_disk_size: "2"
324
331
EOF
325
332
326
- /home/runner/ coder create --template="kubernetes" pr${{ env.PR_NUMBER }} --rich-parameter-file ./workspace.yaml -y
327
- /home/runner/ coder stop pr${{ env.PR_NUMBER }} -y
333
+ coder create --template="kubernetes" pr${{ env.PR_NUMBER }} --rich-parameter-file ./workspace.yaml -y
334
+ coder stop pr${{ env.PR_NUMBER }} -y
328
335
329
336
- name : Send Slack notification
330
337
run : |
0 commit comments