Files
RSSHub/scripts/workflow/test-route/identify.js
2021-01-10 18:55:03 -05:00

51 lines
1.4 KiB
JavaScript

const noFound = 'Auto: Route No Found'
module.exports = ({github, context, core}, body, number) => {
core.debug(`body: ${body}`)
const m = body.match(/```routes\r\n((.|\r\n)*)```/)
core.debug(`match: ${m}`)
let res = null
const removeLabel = () => {
github.issues.removeLabel({
issue_number: number,
owner: context.repo.owner,
repo: context.repo.repo,
name: noFound
}).catch(() => {})
}
if (m && m[1]) {
res = m[1].trim().split("\r\n")
core.info(`routes detected: ${res}`)
if (res.length > 0 && res[0] === "NOROUTE") {
core.info("PR stated no route, passing")
removeLabel()
github.issues.addLabels({
issue_number: number,
owner: context.repo.owner,
repo: context.repo.repo,
labels: ['Auto: No Route Needed']
})
return
} else if (res.length > 0) {
core.exportVariable('TEST_CONTINUE', true)
removeLabel()
return res
}
}
core.info("seems no route found, failing")
github.issues.addLabels({
issue_number: number,
owner: context.repo.owner,
repo: context.repo.repo,
labels: [noFound]
})
throw "Please follow the PR rules: failed to detect route"
}