|
6 | 6 | - "plugins.json" |
7 | 7 | - "scripts/validate_plugins/**" |
8 | 8 | - ".github/workflows/validate-plugin-smoke.yml" |
| 9 | + schedule: |
| 10 | + - cron: "0 2 * * *" |
9 | 11 | workflow_dispatch: |
10 | 12 | inputs: |
11 | 13 | plugin_names: |
|
20 | 22 | description: "AstrBot git ref to validate against" |
21 | 23 | required: false |
22 | 24 | default: "master" |
| 25 | + max_workers: |
| 26 | + description: "Maximum concurrent plugin validations" |
| 27 | + required: false |
| 28 | + default: "8" |
23 | 29 |
|
24 | 30 | jobs: |
25 | 31 | validate-plugin-smoke: |
|
37 | 43 | echo "ASTRBOT_REF=${{ inputs.astrbot_ref }}" >> "$GITHUB_ENV" |
38 | 44 | echo "PLUGIN_NAME_LIST=${{ inputs.plugin_names }}" >> "$GITHUB_ENV" |
39 | 45 | echo "PLUGIN_LIMIT=${{ inputs.plugin_limit }}" >> "$GITHUB_ENV" |
| 46 | + echo "MAX_WORKERS=${{ inputs.max_workers }}" >> "$GITHUB_ENV" |
| 47 | + echo "SHOULD_VALIDATE=true" >> "$GITHUB_ENV" |
| 48 | +
|
| 49 | + - name: Set scheduled validation inputs |
| 50 | + if: github.event_name == 'schedule' |
| 51 | + run: | |
| 52 | + echo "ASTRBOT_REF=master" >> "$GITHUB_ENV" |
| 53 | + echo "PLUGIN_NAME_LIST=" >> "$GITHUB_ENV" |
| 54 | + echo "PLUGIN_LIMIT=" >> "$GITHUB_ENV" |
| 55 | + echo "MAX_WORKERS=8" >> "$GITHUB_ENV" |
40 | 56 | echo "SHOULD_VALIDATE=true" >> "$GITHUB_ENV" |
| 57 | + echo "VALIDATION_NOTE=Running scheduled full plugin validation." >> "$GITHUB_ENV" |
41 | 58 |
|
42 | 59 | - name: Detect changed plugins from pull request |
43 | 60 | if: github.event_name == 'pull_request' |
@@ -86,6 +103,10 @@ jobs: |
86 | 103 | args+=(--limit "$PLUGIN_LIMIT") |
87 | 104 | fi |
88 | 105 |
|
| 106 | + if [ -n "${MAX_WORKERS:-}" ]; then |
| 107 | + args+=(--max-workers "$MAX_WORKERS") |
| 108 | + fi |
| 109 | +
|
89 | 110 | python scripts/validate_plugins/run.py "${args[@]}" |
90 | 111 |
|
91 | 112 | - name: Upload validation report |
|
0 commit comments