mirror of
https://gitee.com/element-plus/element-plus.git
synced 2024-11-30 18:27:40 +08:00
58897ece76
* ci(build): add threshold to build product workflow - Intorduce threshold for build product checking to warn the administrator * Add permissions for workflow from fork repo * Update the permission for workflow
57 lines
1.2 KiB
TypeScript
57 lines
1.2 KiB
TypeScript
import fs from 'fs/promises'
|
|
import path from 'path'
|
|
|
|
main()
|
|
|
|
async function main() {
|
|
const threshold = process.env.THRESHOLD || 40
|
|
let output: string
|
|
const diffOutput = await fs.readFile(
|
|
path.resolve(__dirname, '..', 'tmp/diff.txt'),
|
|
'utf-8'
|
|
)
|
|
const fileDiffs = diffOutput
|
|
.split('\n')
|
|
.map((s) => s.trim())
|
|
.filter((s) => s)
|
|
.map((s) => s.split(':'))
|
|
|
|
if (fileDiffs.length === 0) {
|
|
output = ''
|
|
} else {
|
|
const table = fileDiffs.reduce(
|
|
(prev, [source, filename]) => {
|
|
const row = `|${filename}`
|
|
let status: 'Added 🟢' | 'Removed ⛔️'
|
|
if (!source.startsWith('./dist')) {
|
|
status = 'Removed ⛔️'
|
|
} else {
|
|
status = 'Added 🟢'
|
|
}
|
|
return `${prev}
|
|
${row}|${status}|`
|
|
},
|
|
`| Filename | Status |
|
|
|:---|:---:|`
|
|
)
|
|
|
|
output = `**Total changed files:** ${fileDiffs.length}
|
|
|
|
${
|
|
fileDiffs.length >= threshold
|
|
? `#### 🚔 Attention: the changed file has exceeded the threshold`
|
|
: ''
|
|
}
|
|
|
|
<details><summary>:information_source: Files have been changed</summary>
|
|
|
|
${table}
|
|
|
|
</details>
|
|
|
|
<sub>Generated with :heart: by Element Plus bot</sub>`
|
|
}
|
|
|
|
await fs.writeFile(path.resolve(__dirname, '..', 'tmp/diff.md'), output)
|
|
}
|