@@ -48,15 +48,27 @@ jobs:
48
48
with :
49
49
github-token : ${{ secrets.GITHUB_TOKEN }}
50
50
script : |
51
+ const MAX_CHARACTERS = 30000
52
+ const MAX_CHARACTERS_PER_PROJECT = MAX_CHARACTERS / 3
53
+
51
54
const fs = require('fs')
52
55
let data = fs.readFileSync('fulldiff.txt', { encoding: 'utf8' })
53
- // posting comment fails if too long, so truncate
54
- if (data.length > 30000) {
55
- let truncated_data = data.substring(0, 30000)
56
- let lines_truncated = data.split('\n').length - truncated_data.split('\n').length
57
- data = truncated_data + `\n\n... (truncated ${lines_truncated} lines) ...\n`
56
+
57
+ function truncateIfNeeded(s, maxLength) {
58
+ let truncated = s.substring(0, maxLength)
59
+ if (s.length === truncated.length) {
60
+ return s
61
+ }
62
+ let lines_truncated = s.split('\n').length - truncated.split('\n').length
63
+ return `${truncated}\n\n... (truncated ${lines_truncated} lines) ...\n`
58
64
}
59
65
66
+ const projects = data.split('\n\n')
67
+ // don't let one project dominate
68
+ data = projects.map(project => truncateIfNeeded(project, MAX_CHARACTERS_PER_PROJECT)).join('\n\n')
69
+ // posting comment fails if too long, so truncate
70
+ data = truncateIfNeeded(data, MAX_CHARACTERS)
71
+
60
72
console.log("Diff from mypy_primer:")
61
73
console.log(data)
62
74
0 commit comments