/
util.js
40 lines (32 loc) · 1.05 KB
/
util.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
39
40
'use strict'
const core = require('@actions/core')
const { getTargetInput } = require('./getTargetInput')
const { logWarning } = require('./log')
const mergeMethods = {
merge: 'merge',
squash: 'squash',
rebase: 'rebase',
}
const getMergeMethod = () => {
const input = core.getInput('merge-method')
if (!input || !mergeMethods[input]) {
logWarning(
'merge-method input is ignored because it is malformed, defaulting to `squash`.'
)
return mergeMethods.squash
}
return mergeMethods[input]
}
const parseCommaSeparatedValue = (value) => {
return value.split(',').map(el => el.trim());
}
exports.getInputs = () => ({
GITHUB_TOKEN: core.getInput('github-token', { required: true }),
MERGE_METHOD: getMergeMethod(),
EXCLUDE_PKGS: parseCommaSeparatedValue(core.getInput('exclude')) || [],
MERGE_COMMENT: core.getInput('merge-comment') || '',
APPROVE_ONLY: /true/i.test(core.getInput('approve-only')),
API_URL: core.getInput('api-url'),
TARGET: getTargetInput(core.getInput('target')),
PR_NUMBER: core.getInput('pr-number'),
})