Integrate pre-release feedback intake improvement

Change-source: pulse-maintainer
This commit is contained in:
pulse-triage[bot] 2026-09-29 20:17:06 +01:00
commit 0d4e19f40d
3 changed files with 20 additions and 8 deletions

View file

@ -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.
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.
Give the version on the affected running instance, or the version or release asset attempted if installation never completed. For a running container (Docker, Compose, or Kubernetes), include the Pulse image tag or digest; non-container installs do not need an image reference. Include 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.
@ -38,9 +38,9 @@ body:
- type: input
id: image_ref
attributes:
label: Image tag or binary reference
description: Exact image tag, digest, or release asset name if you know it.
placeholder: rcourtman/pulse:v6.0.0-rc.N or pulse-linux-amd64
label: Running Pulse container image tag or digest
description: For a running Docker, Compose, or Kubernetes container, give its exact Pulse image tag or digest. Leave blank for LXC, bare metal, and failed installs that never started; put an attempted release asset in Pulse version instead.
placeholder: rcourtman/pulse:v6.0.0-rc.N or rcourtman/pulse@sha256:...
- type: dropdown
id: install_path
@ -145,15 +145,14 @@ body:
id: evidence
attributes:
label: Logs, screenshots, or diagnostics
description: Paste relevant logs, link screenshots, or mention sanitized diagnostics export details if available.
render: shell
description: Attach screenshots or paste relevant redacted logs. For connection or data failures, include sanitized diagnostics if Pulse is running and it is safe to collect them. Do not include credentials.
- type: checkboxes
id: confirmations
attributes:
label: Confirmations
options:
- label: I gave the running version, or for an install that never started, the attempted version or "unknown".
- label: I gave the running Pulse version, or for an install that never started, the attempted version or "unknown"; for a running container I also gave its Pulse image tag or digest.
required: true
- label: I searched existing issues and the pinned v6 pre-release feedback hub first.
required: true

View file

@ -286,6 +286,19 @@ test("bug and pre-release forms accept unsafe one-off failures without a second
}
});
test("pre-release evidence keeps screenshots visible and asks only running containers for image identity", () => {
const form = fs.readFileSync(
path.resolve(__dirname, "../ISSUE_TEMPLATE/v6_rc_feedback.yml"),
"utf8"
);
assert.match(form, /id: image_ref[\s\S]*?For a running Docker, Compose, or Kubernetes container/);
assert.match(form, /id: image_ref[\s\S]*?Leave blank for LXC, bare metal, and failed installs/);
assert.match(form, /for a running container I also gave its Pulse image tag or digest/);
const evidenceField = form.split(" id: evidence\n")[1].split(" - type: checkboxes\n")[0];
assert.match(evidenceField, /Attach screenshots or paste relevant redacted logs/);
assert.doesNotMatch(evidenceField, /render:/);
});
test("older-version reports cannot trigger event or scheduled retest posting", async () => {
const issue = {
number: 1200,

View file

@ -1615,7 +1615,7 @@ class ReleasePromotionPolicyTest(unittest.TestCase):
def test_prerelease_feedback_template_uses_generic_current_rc_wording(self) -> None:
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("placeholder: rcourtman/pulse:v6.0.0-rc.N or rcourtman/pulse@sha256:...", template)
self.assertIn("I upgraded to the current v6 RC build", template)
self.assertNotIn("v6.0.0-rc.1", template)