-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrebuildr.js
38 lines (35 loc) · 1.22 KB
/
rebuildr.js
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
function clickRebuildButton() {
rebuildButton = document.querySelector('.build-rebuild-button');
if (rebuildButton) {
clearInterval(window.rebuildrInterval);
console.log('[Rebuildr] Triggering rebuild');
rebuildButton.click();
}
}
function watchForFailedBuild() {
if (document.querySelector('.build-pipeline-state-failed.build-pipeline-job-script')) {
console.log('[Rebuildr] Build failed!');
clearInterval(window.rebuildrInterval);
cancelButton = document.querySelector('.build-cancel-button');
window.rebuildrInterval = setInterval(clickRebuildButton, 1000);
if (cancelButton) {
console.log('[Rebuildr] Cancelling build');
cancelButton.click();
} else {
clickRebuildButton();
}
}
}
function watchForRunningBuild() {
if (document.querySelector('.build-state-started')) {
console.log('[Rebuildr] Build running...');
clearInterval(window.rebuildrInterval);
window.rebuildrInterval = setInterval(watchForFailedBuild, 1000);
watchForFailedBuild();
}
}
if (document.querySelector('#build')) {
console.log('[Rebuildr] Extension loaded - Buildkite build detected');
window.rebuildrInterval = setInterval(watchForRunningBuild, 1000);
watchForRunningBuild();
}