Skip to content

Commit 857562e

Browse files
author
github-actions[bot]
committed
feat: Build for release
1 parent 9dd9f9e commit 857562e

2 files changed

Lines changed: 53 additions & 38 deletions

File tree

build.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"owner":"s-weigand","repo":"trigger-mybinder-build","sha":"396880927964452b71747895d861fd499c38344a","ref":"refs/tags/v1.0.0","tagName":"v1.0.0","branch":"release","tags":["v1","v1.0.0"],"updated_at":"2019-12-18T21:46:03.925Z"}
1+
{"owner":"s-weigand","repo":"trigger-mybinder-build","sha":"e874709719275d05418fc159888092435447d1af","ref":"refs/tags/v1.0.1","tagName":"v1.0.1","branch":"release","tags":["v1.0.1","v1"],"updated_at":"2020-05-01T19:07:11.354Z"}

dist/index.js

Lines changed: 52 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ const request_trigger_1 = __webpack_require__(830);
7777
const run = () => __awaiter(this, void 0, void 0, function* () {
7878
try {
7979
const config = load_config_1.loadConfig();
80-
yield request_trigger_1.triggerBuilds(config);
80+
request_trigger_1.triggerBuilds(config);
8181
}
8282
catch (error) {
8383
core.setFailed(error.message);
@@ -1259,7 +1259,7 @@ const serviceNames = ['gh', 'gist', 'gl', 'git', 'zenodo', 'figshare'];
12591259
exports.loadConfig = () => {
12601260
const targetRepo = core.getInput('target-repo', { required: true });
12611261
const serviceName = core.getInput('service-name', {
1262-
required: true
1262+
required: true,
12631263
});
12641264
const targetState = core.getInput('target-state');
12651265
const debug = core.getInput('debug') === 'true';
@@ -1458,49 +1458,53 @@ module.exports = require("util");
14581458

14591459
"use strict";
14601460

1461-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
1462-
return new (P || (P = Promise))(function (resolve, reject) {
1463-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
1464-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
1465-
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
1466-
step((generator = generator.apply(thisArg, _arguments || [])).next());
1467-
});
1461+
var __importStar = (this && this.__importStar) || function (mod) {
1462+
if (mod && mod.__esModule) return mod;
1463+
var result = {};
1464+
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
1465+
result["default"] = mod;
1466+
return result;
14681467
};
14691468
var __importDefault = (this && this.__importDefault) || function (mod) {
14701469
return (mod && mod.__esModule) ? mod : { "default": mod };
14711470
};
14721471
Object.defineProperty(exports, "__esModule", { value: true });
1472+
const core = __importStar(__webpack_require__(470));
14731473
const eventsource_1 = __importDefault(__webpack_require__(136));
1474-
exports.requestBuild = (url, debug) => __awaiter(this, void 0, void 0, function* () {
1474+
exports.requestBuild = (url, debug) => {
14751475
const timeOut = 30000;
14761476
const startTime = new Date().getTime();
14771477
const source = new eventsource_1.default(url);
1478-
source.onmessage = ((event) => {
1479-
const eventData = JSON.parse(event.data);
1480-
if (debug) {
1481-
console.log(`BuildServerResponse(${url}): \n${eventData.message}\n`);
1482-
}
1483-
if (checkDone(startTime, timeOut, eventData)) {
1484-
if (['launching', 'ready'].indexOf(eventData.phase) > -1) {
1485-
console.log(`${url}\nYour binder build is done.\n`);
1486-
}
1487-
else if (eventData.phase === 'building') {
1488-
console.log(`${url}\nBinder build started.\nCheck back soon.\n`);
1478+
return new Promise((resolve, reject) => {
1479+
source.onmessage = ((event) => {
1480+
const eventData = JSON.parse(event.data);
1481+
if (debug) {
1482+
console.log(`BuildServerResponse(${url}): \n${eventData.message}\n`);
14891483
}
1490-
else {
1491-
source.close();
1492-
throw new Error(`${url}\nYour binder build failed with the following
1484+
if (checkDone(startTime, timeOut, eventData)) {
1485+
if (['launching', 'ready'].indexOf(eventData.phase) > -1) {
1486+
console.log(`${url}\nYour binder build is done.\n`);
1487+
resolve('success');
1488+
}
1489+
else if (eventData.phase === 'building') {
1490+
console.log(`${url}\nBinder build started.\nCheck back soon.\n`);
1491+
resolve('success');
1492+
}
1493+
else {
1494+
source.close();
1495+
reject(`Build Error ${url}\nYour binder build failed with the following
14931496
message:\n${eventData.message}`);
1497+
}
1498+
source.close();
14941499
}
1500+
});
1501+
source.onerror = (event) => {
14951502
source.close();
1496-
}
1497-
});
1498-
source.onerror = (event) => {
1499-
source.close();
1500-
throw new Error(`${url}\nAn Error occurred requesting a binder build:\n
1503+
reject(`Request Error ${url}\nAn Error occurred requesting a binder build:\n
15011504
${event.data}`);
1502-
};
1503-
});
1505+
};
1506+
});
1507+
};
15041508
const checkDone = (startTime, timeOut, eventData) => {
15051509
if (new Date().getTime() - startTime > timeOut &&
15061510
eventData.phase === 'building') {
@@ -1515,23 +1519,34 @@ const checkDone = (startTime, timeOut, eventData) => {
15151519
};
15161520
exports.triggerBuilds = (config) => {
15171521
const baseUrls = [
1522+
'https://mybinder.org/build',
15181523
'https://gke.mybinder.org/build',
1519-
'https://ovh.mybinder.org/build'
1520-
// 'http://localhost:8000'
1524+
'https://ovh.mybinder.org/build',
1525+
'https://gesis.mybinder.org/build',
1526+
'https://turing.mybinder.org/build',
15211527
];
15221528
const targetRepo = config.targetRepo;
15231529
const targetState = config.targetState;
15241530
const serviceName = config.serviceName;
1531+
const responses = [];
15251532
for (let baseUrl of baseUrls) {
15261533
let url = `${baseUrl}/${serviceName}/${targetRepo}`;
15271534
if (targetState !== '') {
15281535
url += '/' + targetState;
15291536
}
1530-
console.log(url);
1531-
exports.requestBuild(url, config.debug).catch(reason => {
1532-
console.error(reason);
1533-
});
1537+
responses.push(exports.requestBuild(url, config.debug)
1538+
.then(() => true)
1539+
.catch(reason => {
1540+
core.error(`Error for ${url}:\n${reason}\n`);
1541+
return false;
1542+
}));
15341543
}
1544+
// tslint:disable-next-line no-floating-promises
1545+
Promise.all(responses).then(values => {
1546+
if (values.indexOf(true) === -1) {
1547+
throw new Error('All requests to build the binder image have failed.');
1548+
}
1549+
});
15351550
};
15361551

15371552

0 commit comments

Comments
 (0)