Skip to content

chore(github): enabled windows binaries, add triage bot, issue templates, and bulk issue/PR tooling#161

Merged
jasdeepkhalsa merged 5 commits intomasterfrom
feature/slowing-down-releases
Apr 1, 2026
Merged

chore(github): enabled windows binaries, add triage bot, issue templates, and bulk issue/PR tooling#161
jasdeepkhalsa merged 5 commits intomasterfrom
feature/slowing-down-releases

Conversation

@jasdeepkhalsa
Copy link
Copy Markdown
Member

@jasdeepkhalsa jasdeepkhalsa commented Apr 1, 2026

Summary

  • Hopefully enables Window binary releases by removing the SPC v2.8.2 workarounds due to fixes now available in static-php-cli 2.8.3 specifically as part of Fix zlib produced lib file names from different zlib version crazywhalecc/static-php-cli#1066
  • Adds an artificial 5s delay into the npm binary uploads/releases to avoid any issues (preemptive fix)
  • Adds a triage bot (runs on issue/PR creation and update events)
  • Bulk issue / PRs triage with scripts/manage_prs.sh, structured issue templates, and a batch close workflow for cleaning up historical issues and PRs efficiently

Changes

Issue templates

  • bug.yml — structured form: DBDiff version, PHP version, install method, database, OS, command, expected/actual behaviour
  • feature.yml — problem/solution/alternatives form
  • config.yml — disables blank issues

Triage workflow (.github/workflows/triage.yml)

Three jobs triggered at the right times:

Job Triggers What it does
triage Issue/PR opened Auto-labels by type, DB, PR content; asks for missing info; links similar issues; detects good first issue candidates
re-evaluate Edited, commented, reopened Removes needs-info when info is provided; removes stale on new activity. Metadata labels (bug, mysql, etc.) are never removed.
stale Weekly cron (Mon 06:00 UTC) Marks stale after 90 days; closes after 14 more days of silence

Batch close workflow (.github/workflows/batch-close.yml)

  • Triggered via workflow_dispatch — paste the batch template into the input field in the Actions UI
  • Dry-run toggle (defaults to true)
  • Comments post as github-actions[bot]
  • Full output captured to the job's step summary for debugging

scripts/manage_prs.sh enhancements

  • Validationvalidate_batch_file() checks every line before any changes are made; reports all errors with line numbers
  • Idempotency — skips already-closed issues/PRs and create entries where an issue with the same title already exists
  • Added Issues Created and Skipped (Already Done) to summary output

scripts/batch-close-template.txt

Reference template documenting the type|number|labels|comment format and the create|labels|title|body variant.

release.yml cleanup

Removed SPC v2.8.2 workarounds (SPC_EXTRA_LIBS, stale comments) superseded by the upstream fix in SPC 2.8.3.

Testing

  • bash -n scripts/manage_prs.sh — syntax check passes
  • Dry-run of v3-close-batch.txt (65 entries) completes correctly
  • Validation rejects malformed entries with line-specific errors
  • YAML validated for both new workflows

…een rapid sequential publishes

Can cause 409 in npm
- Add structured issue templates (bug.yml, feature.yml) with field
  validation; disable blank issues via config.yml

- Add triage workflow (triage.yml) with three jobs:
  - triage: auto-labels new issues/PRs by type (bug/enhancement/question),
    database (mysql/postgres/sqlite), and PR content (dependencies/php);
    asks for missing info on bug reports and adds needs-info; links similar
    open issues; detects good-first-issue candidates
  - re-evaluate: removes needs-info when info is provided and removes stale
    on any new activity (edit, comment, reopen)
  - stale: weekly cron — marks issues/PRs stale after 90 days, closes
    after a further 14 days

- Add batch-close workflow (batch-close.yml): manual workflow_dispatch
  trigger with paste-in template input and dry-run toggle; comments post as
  github-actions[bot]; full output captured to step summary

- Extend manage_prs.sh with:
  - validate_batch_file(): line-by-line validation with error reporting
  - Idempotency: skips already-closed issues/PRs and duplicate creates
  - New counters: Issues Created, Skipped (Already Done)

- Add batch-close-template.txt with documented format reference

- Clean up release.yml: remove SPC v2.8.2 workarounds superseded by SPC 2.8.3 fix
- Add structured issue templates (bug.yml, feature.yml) with field
  validation; disable blank issues via config.yml

- Add triage workflow (triage.yml) with three jobs:
  - triage: auto-labels new issues/PRs by type (bug/enhancement/question),
    database (mysql/postgres/sqlite), and PR content (dependencies/php);
    asks for missing info on bug reports and adds needs-info; links similar
    open issues; detects good-first-issue candidates
  - re-evaluate: removes needs-info when info is provided and removes stale
    on any new activity (edit, comment, reopen)
  - stale: weekly cron — marks issues/PRs stale after 90 days, closes
    after a further 14 days

- Add batch-close workflow (batch-close.yml): manual workflow_dispatch
  trigger with paste-in template input and dry-run toggle; comments post as
  github-actions[bot]; full output captured to step summary

- Extend manage_prs.sh with:
  - validate_batch_file(): line-by-line validation with error reporting
  - Idempotency: skips already-closed issues/PRs and duplicate creates
  - New counters: Issues Created, Skipped (Already Done)

- Add batch-close-template.txt with documented format reference

- Clean up release.yml: remove SPC v2.8.2 workarounds superseded by
  SPC 2.8.3 fix
@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud bot commented Apr 1, 2026

@jasdeepkhalsa jasdeepkhalsa changed the title chore(github): add triage bot, issue templates, and batch close tooling chore(github): enabled windows binaries, add triage bot, issue templates, and bulk issue/PR tooling Apr 1, 2026
@jasdeepkhalsa jasdeepkhalsa merged commit acae3ae into master Apr 1, 2026
65 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant