mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-10-03 12:47:49 +00:00
Accept unsafe one-off failures in community intake
The bug and v6 pre-release forms previously required reproduction steps even when a retry could cause a host outage, duplicate update, alert storm or data loss. Ask for the original sequence and safe evidence instead, and mirror the guidance in the public triage document. Contract-Neutral: Community intake wording only; release and installation contracts unchanged. Change-source: pulse-maintainer
This commit is contained in:
parent
5d39c8623f
commit
564a63a651
6 changed files with 42 additions and 16 deletions
15
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
15
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
|
|
@ -1,5 +1,5 @@
|
|||
name: Bug report
|
||||
description: Report a reproducible bug with full version details
|
||||
description: Report a bug or unexpected outcome with version details
|
||||
title: "[Bug]: "
|
||||
labels:
|
||||
- bug
|
||||
|
|
@ -9,8 +9,7 @@ body:
|
|||
value: |
|
||||
Report the version on the running instance where the bug occurs, not just the version you upgraded from. If installation failed before Pulse could start, give the exact version you tried to install, or write "unknown" and identify the installer or helper below. For container installs, include the running image tag or digest; for other installs, leave the image field blank.
|
||||
|
||||
If your issue is connection- or data-related, include diagnostics from:
|
||||
`Settings -> Diagnostics -> Export for GitHub (sanitized)`.
|
||||
If repeating the action could cause data loss, an outage, duplicate changes, or excessive notifications, do not repeat it just to fill in this form. Describe the original sequence and what you observed instead. If Pulse is running and it is safe to do so, connection- or data-related reports can include diagnostics from `Settings -> Diagnostics -> Export for GitHub (sanitized)`.
|
||||
|
||||
Do not post secrets, tokens, private keys, or unsanitized configuration files.
|
||||
|
||||
|
|
@ -26,12 +25,12 @@ body:
|
|||
- type: textarea
|
||||
id: reproduce
|
||||
attributes:
|
||||
label: To reproduce
|
||||
description: Exact, minimal steps to reproduce the issue.
|
||||
label: Steps or original sequence
|
||||
description: Describe what happened before the failure. If repeating it is unsafe or impossible, say so; a second reproduction is not required.
|
||||
placeholder: |
|
||||
1. Go to ...
|
||||
2. Click ...
|
||||
3. Observe ...
|
||||
1. Before the failure, I ...
|
||||
2. I then saw ...
|
||||
3. I have not repeated it because ...
|
||||
validations:
|
||||
required: true
|
||||
|
||||
|
|
|
|||
14
.github/ISSUE_TEMPLATE/v6_rc_feedback.yml
vendored
14
.github/ISSUE_TEMPLATE/v6_rc_feedback.yml
vendored
|
|
@ -8,7 +8,7 @@ body:
|
|||
Use this form for actionable Pulse v6 pre-release feedback.
|
||||
|
||||
For general impressions or smaller notes, use the pinned v6 pre-release feedback hub.
|
||||
For reproducible failures, include exact version details and sanitized diagnostics when possible.
|
||||
Include exact version details and sanitized evidence where available. Do not repeat an action just to fill in this form if it could cause data loss, an outage, duplicate changes, or excessive notifications; describe the original sequence instead.
|
||||
|
||||
Do not post secrets, tokens, private keys, or unsanitized config files.
|
||||
|
||||
|
|
@ -114,13 +114,13 @@ body:
|
|||
- type: textarea
|
||||
id: reproduce_or_context
|
||||
attributes:
|
||||
label: Steps to reproduce or usage context
|
||||
description: If this is a bug, list exact steps. If this is workflow feedback, describe what you were trying to do.
|
||||
label: Steps or original sequence / usage context
|
||||
description: For a bug, describe what happened before it. If repeating it is unsafe or impossible, say so; a second reproduction is not required. For workflow feedback, describe what you were trying to do.
|
||||
placeholder: |
|
||||
1. Upgrade to the current v6 RC build
|
||||
2. Open ...
|
||||
3. Click ...
|
||||
4. Observe ...
|
||||
1. I upgraded to the current v6 RC build
|
||||
2. I opened ...
|
||||
3. I saw ...
|
||||
4. I have not repeated it because ...
|
||||
validations:
|
||||
required: true
|
||||
|
||||
|
|
|
|||
11
.github/scripts/issue-version-triage.test.cjs
vendored
11
.github/scripts/issue-version-triage.test.cjs
vendored
|
|
@ -275,6 +275,17 @@ test("bug and pre-release forms accept truthful evidence for installs that never
|
|||
}
|
||||
});
|
||||
|
||||
test("bug and pre-release forms accept unsafe one-off failures without a second run", () => {
|
||||
const templateDir = path.resolve(__dirname, "../ISSUE_TEMPLATE");
|
||||
for (const name of ["bug_report.yml", "v6_rc_feedback.yml"]) {
|
||||
const form = fs.readFileSync(path.join(templateDir, name), "utf8");
|
||||
assert.match(form, /do not repeat/i);
|
||||
assert.match(form, /original sequence/i);
|
||||
assert.match(form, /second reproduction is not required/);
|
||||
assert.match(form, /data loss, an outage, duplicate changes, or excessive notifications/);
|
||||
}
|
||||
});
|
||||
|
||||
test("older-version reports cannot trigger event or scheduled retest posting", async () => {
|
||||
const issue = {
|
||||
number: 1200,
|
||||
|
|
|
|||
|
|
@ -32,6 +32,14 @@ symptom: logs or sanitized diagnostics for connection and data failures, and
|
|||
screenshots or exact error text for visual failures. Do not make a reporter
|
||||
invent logs where none apply.
|
||||
|
||||
Some failures cannot safely be reproduced: an update may have changed a
|
||||
container despite a failed banner, an alert storm may send more notifications,
|
||||
or another run may bring down a host. Accept the original sequence, observed
|
||||
result, time and sanitized evidence; do not require a second attempt before
|
||||
triage. Where the installed state is uncertain, check it before suggesting
|
||||
another action. A diagnostics export is useful only when Pulse is running and
|
||||
collecting it is safe.
|
||||
|
||||
## Required disposition
|
||||
|
||||
Before removing `needs-decomposition` or declaring a mixed report triaged:
|
||||
|
|
|
|||
|
|
@ -32,6 +32,14 @@ symptom: logs or sanitized diagnostics for connection and data failures, and
|
|||
screenshots or exact error text for visual failures. Do not make a reporter
|
||||
invent logs where none apply.
|
||||
|
||||
Some failures cannot safely be reproduced: an update may have changed a
|
||||
container despite a failed banner, an alert storm may send more notifications,
|
||||
or another run may bring down a host. Accept the original sequence, observed
|
||||
result, time and sanitized evidence; do not require a second attempt before
|
||||
triage. Where the installed state is uncertain, check it before suggesting
|
||||
another action. A diagnostics export is useful only when Pulse is running and
|
||||
collecting it is safe.
|
||||
|
||||
## Required disposition
|
||||
|
||||
Before removing `needs-decomposition` or declaring a mixed report triaged:
|
||||
|
|
|
|||
|
|
@ -1616,7 +1616,7 @@ class ReleasePromotionPolicyTest(unittest.TestCase):
|
|||
template = read(".github/ISSUE_TEMPLATE/v6_rc_feedback.yml")
|
||||
self.assertIn("placeholder: v6.0.0-rc.N", template)
|
||||
self.assertIn("placeholder: rcourtman/pulse:v6.0.0-rc.N or pulse-linux-amd64", template)
|
||||
self.assertIn("Upgrade to the current v6 RC build", template)
|
||||
self.assertIn("I upgraded to the current v6 RC build", template)
|
||||
self.assertNotIn("v6.0.0-rc.1", template)
|
||||
|
||||
def test_demo_site_copy_points_at_current_release_packet_index(self) -> None:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue