-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdeploy.luau
39 lines (31 loc) · 1.44 KB
/
deploy.luau
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
local process = require("@lune/process")
local net = require("@lune/net")
local fs = require("@lune/fs")
local artifact = process.args[1]
print("process.env.GITHUB_SHA: ", process.env.GITHUB_SHA)
print("process.env.SDK_ARTIFACT_UPLOAD_SECRET: ", string.sub(process.env.SDK_ARTIFACT_UPLOAD_SECRET or "", 0, 10) .. "***")
local commitHash = process.env.GITHUB_SHA
local authorization = process.env.SDK_ARTIFACT_UPLOAD_SECRET
local multiformUuid = `SDK_WORKFLOW.{math.random()}`
local multiformContentBoundary = `{multiformUuid}`
local multiformContent = ""
multiformContent ..= `--{multiformContentBoundary}\r\n`
multiformContent ..= `Content-Disposition: form-data; name="commitHash"\r\n`
multiformContent ..= `Content-Type: application/json\r\n`
multiformContent ..= `\r\n`
multiformContent ..= `{commitHash}\r\n`
multiformContent ..= `--{multiformContentBoundary}\r\n`
multiformContent ..= `Content-Disposition: form-data; name="file"; filename="file.rbxm"\r\n`
multiformContent ..= `Content-Type: application/octet-stream\r\n`
multiformContent ..= `\r\n`
multiformContent ..= `{fs.readFile(artifact)}\r\n`
multiformContent ..= `--{multiformContentBoundary}--\r\n`
print(net.request({
url = "https://preview.metrik.app/api/sdk/upload-artifact",
method = "POST",
headers = {
["Authorization"] = `Bearer {authorization}`,
["content-type"] = `multipart/form-data; boundary={multiformContentBoundary}`
},
body = multiformContent
}))