blob: 03a44b339a82fb7b8dac9f9663ef45dbf1c46413 (
plain)
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
'use strict';
/**
* @param {Array} modifiedFiles The modified files
* @returns {string} The commit message
*/
const commitMessage = function(modifiedFiles) {
const nbrMySQLFiles = modifiedFiles.filter(file => file.match(/mysql-[a-z\-\.]+.json$/g)).length;
const nbrMariaDBFiles = modifiedFiles.filter(file => file.match(/mariadb-[a-z\-\.]+.json$/g)).length;
const nbrMergedData = modifiedFiles.filter(file => file.match(/merged-(slim|ultraslim|raw).(json|md|php)$/g))
.length;
const hasMySQLFiles = nbrMySQLFiles > 0;
const hasMariaDBFiles = nbrMariaDBFiles > 0;
const hasOtherFiles = nbrMySQLFiles + nbrMariaDBFiles + nbrMergedData !== modifiedFiles.length;
if (hasMariaDBFiles && hasMySQLFiles) {
return 'update: [MariaDB] && [MySQL] updates' + (hasOtherFiles ? ' and other changes' : '');
} else if (hasMariaDBFiles && !hasMySQLFiles) {
return 'update: [MariaDB] updates' + (hasOtherFiles ? ' and other changes' : '');
} else if (!hasMariaDBFiles && hasMySQLFiles) {
return 'update: [MySQL] updates' + (hasOtherFiles ? ' and other changes' : '');
}
return 'update: 🤖 Some updates 🤖';
};
/**
* @param {Array} modifiedFiles The modified files
* @returns {string} The pr message
*/
const prMessage = function(modifiedFiles) {
const nbrMySQLFiles = modifiedFiles.filter(file => file.match(/mysql-[a-z-]+.json$/g)).length;
const nbrMariaDBFiles = modifiedFiles.filter(file => file.match(/mariadb-[a-z-]+.json$/g)).length;
const nbrMergedData = modifiedFiles.filter(file => file.match(/merged-(slim|ultraslim|raw).(json|md|php)$/g))
.length;
const hasMySQLFiles = nbrMySQLFiles > 0;
const hasMariaDBFiles = nbrMariaDBFiles > 0;
const hasOtherFiles = nbrMySQLFiles + nbrMariaDBFiles + nbrMergedData !== modifiedFiles.length;
if (hasMariaDBFiles && hasMySQLFiles) {
return '🤖 [MariaDB] && [MySQL] updates' + (hasOtherFiles ? ' 🚨🚨' : '');
} else if (hasMariaDBFiles && !hasMySQLFiles) {
return '🤖 [MariaDB] updates' + (hasOtherFiles ? ' 🚨🚨' : '');
} else if (!hasMariaDBFiles && hasMySQLFiles) {
return '🤖 [MySQL] updates' + (hasOtherFiles ? ' 🚨🚨' : '');
}
return '🤖 Some updates to review 🤖';
};
/**
* @param {Array} modifiedFiles The modified files
* @returns {string} The pr content
*/
const prContent = function(modifiedFiles) {
let message =
'Dear human 🌻, after running my task the following file' +
(modifiedFiles.length > 1 ? 's where updated:' : ' was updated:') +
'\n';
message += modifiedFiles
.map(file => {
let emoji = '👽';
if (file.match(/mysql-[a-z-]+.json$/g)) {
emoji = '🐬';
}
if (file.match(/mariadb-[a-z-]+.json$/g)) {
emoji = '🐳';
}
if (file.match(/merged-(slim|ultraslim|raw).(json|md|php)$/g)) {
emoji = '📦';
}
return '- `' + file + '` ' + emoji + '\n';
})
.join('');
return message;
};
/**
* @param {Array} modifiedFiles The modified files
* @returns {string} The pr branch
*/
const prBranch = function(modifiedFiles) {
return 'refs/heads/update/' + new Date().getTime();
};
module.exports = {
commitMessage: commitMessage,
prMessage: prMessage,
prContent: prContent,
prBranch: prBranch,
};
|