@lvnt/release-radar 1.1.0 → 1.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/updater.js +9 -1
- package/dist/updater.test.js +10 -1
- package/package.json +1 -1
package/dist/updater.js
CHANGED
|
@@ -2,7 +2,9 @@ import { createHmac, timingSafeEqual } from 'crypto';
|
|
|
2
2
|
import { spawn } from 'child_process';
|
|
3
3
|
import { createServer } from 'http';
|
|
4
4
|
export function parseReleaseEvent(payload) {
|
|
5
|
-
|
|
5
|
+
// GitHub sends 'published' for new releases and 'released' for made-available releases
|
|
6
|
+
const validActions = ['published', 'released'];
|
|
7
|
+
if (!validActions.includes(payload.action) || !payload.release?.tag_name) {
|
|
6
8
|
return null;
|
|
7
9
|
}
|
|
8
10
|
const tag = payload.release.tag_name;
|
|
@@ -27,6 +29,9 @@ export function executeUpdate() {
|
|
|
27
29
|
const npmProcess = spawn('npm', ['update', '-g', '@lvnt/release-radar'], {
|
|
28
30
|
stdio: 'inherit'
|
|
29
31
|
});
|
|
32
|
+
npmProcess.on('error', (err) => {
|
|
33
|
+
resolve({ success: false, error: `npm process error: ${err.message}` });
|
|
34
|
+
});
|
|
30
35
|
npmProcess.on('close', (code) => {
|
|
31
36
|
if (code !== 0) {
|
|
32
37
|
resolve({ success: false, error: `npm update failed with code ${code}` });
|
|
@@ -35,6 +40,9 @@ export function executeUpdate() {
|
|
|
35
40
|
const pm2Process = spawn('pm2', ['restart', 'release-radar'], {
|
|
36
41
|
stdio: 'inherit'
|
|
37
42
|
});
|
|
43
|
+
pm2Process.on('error', (err) => {
|
|
44
|
+
resolve({ success: false, error: `pm2 process error: ${err.message}` });
|
|
45
|
+
});
|
|
38
46
|
pm2Process.on('close', (pm2Code) => {
|
|
39
47
|
if (pm2Code !== 0) {
|
|
40
48
|
resolve({ success: false, error: `pm2 restart failed with code ${pm2Code}` });
|
package/dist/updater.test.js
CHANGED
|
@@ -29,7 +29,16 @@ describe('parseReleaseEvent', () => {
|
|
|
29
29
|
};
|
|
30
30
|
expect(parseReleaseEvent(payload)).toBe('1.2.0');
|
|
31
31
|
});
|
|
32
|
-
it('returns
|
|
32
|
+
it('returns version for release.released event', () => {
|
|
33
|
+
const payload = {
|
|
34
|
+
action: 'released',
|
|
35
|
+
release: {
|
|
36
|
+
tag_name: 'v1.2.0'
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
expect(parseReleaseEvent(payload)).toBe('1.2.0');
|
|
40
|
+
});
|
|
41
|
+
it('returns null for other actions', () => {
|
|
33
42
|
const payload = {
|
|
34
43
|
action: 'created',
|
|
35
44
|
release: {
|