"use strict"; const https = require('https'); const token = process.env.INPUT_TOKEN; const repository = process.env.GITHUB_REPOSITORY; const owner = process.env.GITHUB_REPOSITORY_OWNER; const pagesControl = process.env["INPUT_PAGES-URL"] + "control.php"; const pagesLogs = process.env["INPUT_PAGES-URL"] + "getlogs.php"; const ref = process.env.INPUT_REF; const remove = JSON.parse(process.env.INPUT_REMOVE.toLowerCase()); const data = JSON.stringify({ repository: repository, owner: owner, token: token, ref: ref, remove: remove, }); const options = { method: "POST", headers: { "Content-Type": "application/json", }, }; const url = pagesControl; const request = https.request(url, options, response => { console.log('statusCode:', response.statusCode); let body = ""; response.on('data', (d) => { body += d; }); response.on('end', () => { if (response.statusCode < 200 || 299 < response.statusCode) { process.exitCode = 1; console.log(body); return; } console.log(`processID: ${body}`); let log = ""; const getLogs = () => { const req = https.request(pagesLogs + "?processId=" + body, (res) => { let logBody = ""; res.on('data', (chunk) => { logBody += chunk; }); res.on('end', () => { const logData = JSON.parse(logBody); process.stdout.write(logData["log"].slice(log.length)); log = logData["log"]; if (!logData["finished"]) { setTimeout(getLogs, 1000); } else if (!logData["succeed"]) { process.exitCode = 1; } }); }); req.end(); }; setTimeout(getLogs, 1000); }); }); request.write(data); request.end();