Mercurial
comparison .cms/lib/codemirror/bin/upload-release.js @ 0:78edf6b517a0 draft
24.10
author | Coffee CMS <info@coffee-cms.ru> |
---|---|
date | Fri, 11 Oct 2024 22:40:23 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:78edf6b517a0 |
---|---|
1 "use strict" | |
2 | |
3 let version = process.argv[2] | |
4 let auth = process.argv[3] | |
5 let url = require("url") | |
6 | |
7 if (!auth) { | |
8 console.log("Usage: upload-release.js [TAG] [github-user:password]") | |
9 process.exit(1) | |
10 } | |
11 | |
12 function post(host, path, body) { | |
13 let req = require("https").request({ | |
14 host, | |
15 auth: auth, | |
16 headers: {"user-agent": "Release uploader"}, | |
17 path, | |
18 method: "POST" | |
19 }, res => { | |
20 if (res.statusCode >= 300 && res.statusCode < 400) { | |
21 console.log(res.headers.location) | |
22 let parsed = url.parse(res.headers.location) | |
23 post(parsed.host, parsed.path, body) | |
24 } else if (res.statusCode >= 400) { | |
25 console.error(res.statusCode, res.statusMessage) | |
26 res.on("data", d => console.log(d.toString())) | |
27 res.on("end", () => process.exit(1)) | |
28 } | |
29 }) | |
30 req.write(body) | |
31 req.end() | |
32 } | |
33 | |
34 require('child_process').exec("git --no-pager show -s --format='%s' " + version, (error, stdout) => { | |
35 if (error) throw error | |
36 let message = stdout.split("\n").slice(2) | |
37 message = message.slice(0, message.indexOf("-----BEGIN PGP SIGNATURE-----")).join("\n") | |
38 | |
39 post("api.github.com", "/repos/codemirror/codemirror5/releases", JSON.stringify({ | |
40 tag_name: version, | |
41 name: version, | |
42 body: message | |
43 })) | |
44 }) |