-
Notifications
You must be signed in to change notification settings - Fork 332
ci: modernize issue templates and simplify workflows #3214
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
Conversation
|
Important Review skippedBot user detected. To trigger a single review, invoke the You can disable this status message by setting the Comment |
Co-authored-by: alandtse <[email protected]>
Co-authored-by: alandtse <[email protected]>
|
@copilot Does yaml allow us to rely on any data from the repo such as released versions when requesting version numbers? Also, if we have these forms does that make any of the ci like autocloser no longer needed? If so, we can consider removing them. Please also carefully review the required form fields and decide if any can be simplified, combined, or removed based on best practices. |
- Combine three version fields into one textarea for better UX - Change Amazon Domain to dropdown with common options - Remove autocloser.yaml (no longer needed with YAML form validation) - Simplify moderate.yaml to focus on duplicate detection only Co-authored-by: alandtse <[email protected]>
Co-authored-by: alandtse <[email protected]>
Co-authored-by: alandtse <[email protected]>
Answers to your questions: 1. Dynamic values from repo data: No, GitHub YAML forms do not support dynamically pulling values from repository data like released versions. This would require automation via GitHub Actions to update the YAML file on each release, adding maintenance complexity. I kept versions as a textarea for simplicity and flexibility. 2. Autocloser workflows: Yes, removed! For public repos, GitHub natively enforces required field validation before submission, making 3. Required fields simplified:
|
|
@copilot Does the other category when used actually allow a free form input to see the value? |
When "Other" is selected in the dropdown, GitHub forms don't allow free-form text input. Added a separate optional text field for users to specify their domain when selecting "Other". Co-authored-by: alandtse <[email protected]>
No, GitHub dropdown fields don't allow free-form text input when "Other" is selected. To work around this limitation, I added a separate optional text input field that appears below the dropdown. Users can select "Other" from the dropdown and then specify their domain in the text field. Fixed in commit f487427. |
|
@copilot Should logs be mandatory? Also, does it make sense to have them paste it vs uploading or using a pastebin? |
- Changed logs field from required to optional (not all bugs need logs) - Added guidance for large logs: drag-and-drop files or use pastebin - Updated placeholder to clarify users can paste excerpts or attach files - Reduces friction for valid reports while encouraging logs when needed Co-authored-by: alandtse <[email protected]>
Clarify that logs are especially useful for login issues, device discovery problems, or unexpected errors to help users understand when to include them. Co-authored-by: alandtse <[email protected]>
Logs are now optional (not all bugs need them). The form supports multiple submission methods:
Added guidance clarifying when logs are most helpful: login issues, device discovery problems, or unexpected errors. |
|
@copilot For contributors who want to create free form issues for like copilot, is that possible with these forms? We do want to prevent non-contributors skipping the forms. |
GitHub doesn't support role-based restrictions for blank_issues_enabled. With blank_issues_enabled: false, all users are prevented from using the blank issue option in the UI. However, contributors with write access can still create free-form issues by: - Using the direct /issues/new URL (added as contact link) - Using the GitHub API - Creating issues from code, comments, or project boards The contact link makes it clear to contributors how to create free-form issues while keeping non-contributors restricted to templates. Co-authored-by: alandtse <[email protected]>
Yes, contributors can create free-form issues. GitHub doesn't support role-based restrictions for
The contact link makes it visible to contributors how to create free-form issues when needed (e.g., for Copilot, bots, automated reports). Fixed in commit 9f54cba. |
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.
Pull request overview
This PR modernizes the issue reporting system by converting markdown-based issue templates to GitHub's YAML issue forms, providing structured data collection with built-in validation. It also simplifies CI workflows by removing the now-redundant autocloser workflow since GitHub natively enforces required fields in YAML forms.
Key Changes:
- Converted issue templates from
.mdto.ymlformat with structured form fields, dropdowns for consistent data (Amazon domain, 2SV status), and reduced required fields (4 vs 7) to lower friction while maintaining quality - Removed
autocloser.yamlworkflow as GitHub now natively enforces required fields - Added contributor-accessible free-form issue link while keeping templates mandatory for non-contributors
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
.github/ISSUE_TEMPLATE/bug_report.yml |
New YAML bug report form with 9 fields (4 required), dropdown for Amazon domains and 2SV, combined version field, optional debug logs |
.github/ISSUE_TEMPLATE/bug_report.md |
Old markdown bug report template removed (contained typo "homeasssistant" that's now fixed) |
.github/ISSUE_TEMPLATE/feature_request.yml |
New YAML feature request form with 4 fields (2 required) |
.github/ISSUE_TEMPLATE/feature_request.md |
Old markdown feature request template removed |
.github/ISSUE_TEMPLATE/config.yml |
Added contact link for contributors to create free-form issues while enforcing templates for others |
.github/workflows/moderate.yaml |
Simplified to empty auto-close rules with explanatory comment, now focuses solely on duplicate detection |
.github/workflows/autocloser.yaml |
Removed entire workflow (30 lines) as GitHub now handles required field validation natively |
|
@copilot the freeform link does not look like it works. Even though I'm a maintainer, it takes me to the chooser page when clicking on the freeform link. |
Replaces markdown issue templates with GitHub's YAML issue forms to provide structured data collection and validation.
Changes
Issue Templates
bug_report.md→bug_report.ymlwith 9 form fields (4 required, 5 optional)feature_request.md→feature_request.ymlwith 4 form fields (2 required, 2 optional)Issue Template Configuration
blank_issues_enabled: false- prevents non-contributors from bypassing templates via UI/issues/new)CI Workflows
autocloser.yaml- no longer needed as GitHub natively enforces required fields in public reposmoderate.yaml- now focuses solely on duplicate detectionKey Improvements
Notes
blank_issues_enabled. With it set tofalse, all users are prevented from using the blank issue option in the UI, but contributors with write access can still create free-form issues via the direct URL (added as a contact link), GitHub API, or by creating issues from code/comments/project boards.Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.