Skip to content

chore: bump Go 1.26.4 (GO-2026-5037/5039) + gitleaks/e2e CI cleanup - #397

Merged
krisarmstrong merged 6 commits into
mainfrom
fix/stem-gitleaks-false-positive
Jun 7, 2026
Merged

chore: bump Go 1.26.4 (GO-2026-5037/5039) + gitleaks/e2e CI cleanup#397
krisarmstrong merged 6 commits into
mainfrom
fix/stem-gitleaks-false-positive

Conversation

@krisarmstrong

@krisarmstrong krisarmstrong commented Jun 7, 2026

Copy link
Copy Markdown
Collaborator

Lands the in-flight stem branch ahead of the module-path rename (staged sequence).

Headline (unblocks CI): bump go 1.26.31.26.4govulncheck (hard gate) flags crypto/x509 (GO-2026-5037) + net/textproto (GO-2026-5039) stdlib CVEs on 1.26.3. seed already did this in #1469; stem follows per CLAUDE.md.

Also folded in (the original branch work):

  • gitleaks: annotate STEM_AUTH_PASSWORD test value as gitleaks:allow
  • e2e: role-chip-test_master underscore fix; format language-layout sanity test

No production-code changes beyond the toolchain bump.

Kris Armstrong added 3 commits May 30, 2026 17:54
stem CI on the post-#387 main run (#26695591706) failed in
reflector-platform-guard.spec.ts:46:

  await expect(page.getByTestId('role-chip-test-master'))
    .toBeVisible();

The actual testid emitted by RoleChip.tsx:115 is
`role-chip-${option.id}`, and option.id for the Test Master role
is `test_master` (underscore, see RoleChip.tsx:39). My #387
migration used `role-chip-test-master` (hyphen), so the locator
resolved to zero elements and the test failed deterministically
on both chromium and webkit.

Fix: one-character change, hyphen -> underscore. Brings the spec
in line with the actual id key.
A workflow_dispatch CI run on stem main (#26697916907) failed the
Security Scanning job. Gitleaks's hardcoded-password rule flagged
tests/smoke/run_smoke_tests.sh:52:

  : "${STEM_AUTH_PASSWORD:=$(openssl rand -base64 18)}"

False positive — the right-hand side is a dynamic `openssl rand`
call, not a literal password value. Push-event CI runs only diff
the latest commit and never tripped on this; workflow_dispatch
re-scans the full git history (the leaking commit is 6f34d6f from
the C-dataplane-fallback work, before gitleaks was tuned for this
project), so it surfaces every historical hit.

Added an inline `# gitleaks:allow` annotation on the line itself
plus a comment block above explaining why future scans should
ignore it. Gitleaks honors `gitleaks:allow` in any commit it sees,
so the historical commit is dispatched-scan-safe too.
@krisarmstrong
krisarmstrong enabled auto-merge (squash) June 7, 2026 02:44
@github-actions

github-actions Bot commented Jun 7, 2026

Copy link
Copy Markdown
Contributor

License Compliance Report

All dependencies pass license compliance checks

Go Dependencies

  • Unknown: 31 package(s)
  • MIT: 26 package(s)
  • BSD-3-Clause: 16 package(s)
  • Apache-2.0: 11 package(s)
  • BSD-2-Clause: 1 package(s)

npm Dependencies

See full report in workflow artifacts

Allowed Licenses: MIT, Apache-2.0, BSD-*, ISC, CC0-1.0, MPL-2.0
Forbidden: GPL, AGPL, SSPL (strong copyleft)

govulncheck flags crypto/x509.Certificate.Verify (GO-2026-5037) and
net/textproto.Reader.ReadMIMEHeader (GO-2026-5039) on 1.26.3. seed
already bumped (#1469); stem follows per CLAUDE.md.
@github-actions

github-actions Bot commented Jun 7, 2026

Copy link
Copy Markdown
Contributor

License Compliance Report

All dependencies pass license compliance checks

Go Dependencies

  • Unknown: 31 package(s)
  • MIT: 26 package(s)
  • BSD-3-Clause: 16 package(s)
  • Apache-2.0: 11 package(s)
  • BSD-2-Clause: 1 package(s)

npm Dependencies

See full report in workflow artifacts

Allowed Licenses: MIT, Apache-2.0, BSD-*, ISC, CC0-1.0, MPL-2.0
Forbidden: GPL, AGPL, SSPL (strong copyleft)

@krisarmstrong krisarmstrong changed the title fix(ci): gitleaks false-positive annotations + e2e testid fixes chore: bump Go 1.26.4 (GO-2026-5037/5039) + gitleaks/e2e CI cleanup Jun 7, 2026
gitleaks-action now requires a paid licence for org repos ([MustardSeedNetworks]
is an organization). Swap to the MIT-licensed gitleaks CLI (pinned 8.30.0 +
SHA-256), matching seed #1552. Unblocks the Security Scanning job.
@github-actions github-actions Bot added the ci label Jun 7, 2026
@github-actions

github-actions Bot commented Jun 7, 2026

Copy link
Copy Markdown
Contributor

License Compliance Report

All dependencies pass license compliance checks

Go Dependencies

  • Unknown: 31 package(s)
  • MIT: 26 package(s)
  • BSD-3-Clause: 16 package(s)
  • Apache-2.0: 11 package(s)
  • BSD-2-Clause: 1 package(s)

npm Dependencies

See full report in workflow artifacts

Allowed Licenses: MIT, Apache-2.0, BSD-*, ISC, CC0-1.0, MPL-2.0
Forbidden: GPL, AGPL, SSPL (strong copyleft)

Full-history gitleaks CLI scan flags the throwaway smoke-test password in
tests/smoke/run_smoke_tests.sh (a created-then-deleted test user, not a real
secret). Inline gitleaks:allow can't suppress historical commits, so allowlist
the path.
@github-actions github-actions Bot added the config label Jun 7, 2026
@github-actions

github-actions Bot commented Jun 7, 2026

Copy link
Copy Markdown
Contributor

License Compliance Report

All dependencies pass license compliance checks

Go Dependencies

  • Unknown: 31 package(s)
  • MIT: 26 package(s)
  • BSD-3-Clause: 16 package(s)
  • Apache-2.0: 11 package(s)
  • BSD-2-Clause: 1 package(s)

npm Dependencies

See full report in workflow artifacts

Allowed Licenses: MIT, Apache-2.0, BSD-*, ISC, CC0-1.0, MPL-2.0
Forbidden: GPL, AGPL, SSPL (strong copyleft)

@krisarmstrong
krisarmstrong merged commit 56117e8 into main Jun 7, 2026
28 checks passed
@krisarmstrong
krisarmstrong deleted the fix/stem-gitleaks-false-positive branch June 7, 2026 04:26
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