-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
chore(github): improve PR template and cleanup obsolete references | move contribution guide #9700
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- PR template: Add clear instructions for issue linking with 'Fixes #xxx' syntax to enable automatic issue closing on PR merge - autolabeler-config.json: Remove non-existent misc/create_lxc.sh - validate-filenames.yml: Remove obsolete skip check for misc/create_lxc.sh
- Remove deprecated .github/CONTRIBUTOR_AND_GUIDES/ directory - Add missing json templates to docs/contribution/templates_json/ - Update README.md links to point to docs/contribution/ - Update docs/contribution/CONTRIBUTING.md internal links The contribution documentation is now centralized in docs/contribution/ with all templates (ct, install, json) available there.
Autolabeler improvements: - Always parse template checkboxes (removed size < 2 restriction) - Better handling of update script + json + content label combinations - Fixed documentation checkbox mapping to 'maintenance' label Changelog config improvements: - Added '🗑️ Deleted Scripts' category for delete script label - Added '💾 Core' as main category (was subcategory under Maintenance) - Renamed 'Unlabelled' to 'Uncategorized' with 'needs triage' label - Removed Documentation subcategory (redundant with maintenance) Changelog workflow improvements: - Added fallback to 'Uncategorized' for PRs without matching labels This ensures: - PRs with ct/install + json changes + bugfix = 'update script' + 'bugfix' - Core changes (misc/*.func) get their own changelog section - Deleted scripts are tracked in changelog - No PRs fall through without categorization
When a PR has multiple content-type labels, use priority order: 1. breaking change (highest) 2. bugfix 3. feature 4. refactor (lowest) Example: PR with 'bugfix' + 'feature' + 'refactor' → categorized as 'bugfix' This prevents PRs from appearing in multiple subcategories and ensures the most important change type is highlighted.
Autolabeler changes: - Separated scripts (ct/install/turnkey) from VMs (vm/) - Added new labels: 'new vm', 'update vm', 'delete vm' - Added 'documentation' label for docs/** changes - 'github' label now includes README.md, SECURITY.md, LICENSE, CHANGELOG.md - Removed misc/** from script labels (misc is for core functions) - Added 'tools' label for tools/** directory - Documentation checkbox now maps to 'documentation' (not 'maintenance') Changelog changes: - Added VM categories: New VMs, Updated VMs, Deleted VMs (with subcategories) - Added Tools category with subcategories - Added Documentation category (separate from Github) - Github and API are now main categories (not under Maintenance) - Removed Maintenance category (was redundant) Label mapping summary: - ct/install/turnkey → new script / update script / delete script - vm/** → new vm / update vm / delete vm - misc/*.func → core - docs/** → documentation - .github/**, README.md, etc. → github - tools/** → tools (+ addon/pve-tool sub-labels) - frontend/** → website - frontend/public/json/** → json - api/**, misc/api.func → api
VMs now use the same labels as ct/install/turnkey: - vm/** (added) → 'new script' + 'vm' - vm/** (modified) → 'update script' + 'vm' - vm/** (removed) → 'delete script' + 'vm' The 'vm' label is added as an additional marker but VMs appear in the same changelog categories as other scripts. Removed separate VM categories from changelog config.
michelroegl-brunner
approved these changes
Dec 5, 2025
Member
michelroegl-brunner
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm, a much better approach. I am still testing on how we can use release-drafter for a better changelog.
tremor021
approved these changes
Dec 5, 2025
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
✍️ Description
This PR improves the GitHub workflow automation for PR labeling and changelog generation.
Autolabeler Changes
size < 2restriction: Template checkboxes are now always parsed, regardless of how many file-based labels were already addeddocumentationlabel (wasmaintenance)documentationfordocs/**changesvmas additional marker forvm/**changestoolsfortools/**changesgithublabel scope: Now includesREADME.md,SECURITY.md,LICENSE,CHANGELOG.md(not just.github/**)update script+jsonhandling: When a PR has script changes + json changes + content label (bugfix/feature), thejsonlabel is skipped to avoid duplicate categorizationChangelog Config Changes
🗑️ Deleted Scriptscategory: PRs withdelete scriptlabel now appear in changelog💾 Coreas main category: Core function changes (misc/*.func) get their own section (was subcategory under Maintenance)🧰 Toolscategory: Fortools/**changes with subcategories📚 Documentationcategory: Fordocs/**changes📂 Githubto main category: Was subcategory under Maintenance📡 APIto main category: Was subcategory under Maintenance🧰 Maintenancecategory: Redundant after splitting into Documentation/Github❔ Uncategorizedfallback: PRs without matching labels go here (usesneeds triagelabel)vm/**changes usenew script/update script/delete scriptlabels with additionalvmmarkerChangelog Workflow Changes
breaking change>bugfix>feature>refactorPR Template Changes
Fixes #123syntaxOther Cleanup
.github/CONTRIBUTOR_AND_GUIDES/: Consolidated intodocs/contribution/docs/contribution/templates_json/: Moved JSON templates from old locationdocs/contribution/locationmisc/create_lxc.shfrom configs (file was deleted)🔗 Related PR / Issue
Link: #
✅ Prerequisites (X in brackets)
🛠️ Type of Change (X in brackets)
README,AppName.md,CONTRIBUTING.md, or other docs.