Skip to content

fix: failing CI checks left by upstream merges - #22

Merged
carlos-lopez-vecino merged 8 commits into
dp-stablefrom
PAIINFRA-228/fix-ci-failures
Oct 12, 2026
Merged

carlos-lopez-vecino merged 8 commits into
dp-stablefrom
PAIINFRA-228/fix-ci-failures

Conversation

@carlos-lopez-vecino

Copy link
Copy Markdown

Jira Issue

Summary

The PR checks on dp-stable merge PRs (#13, #19, #20, #21) fail for real reasons left behind by the upstream v0.28.3/v0.29.3 merges, so every future fork PR (including the upcoming v0.32.0 merge) starts red. This PR makes the checks green again. It is a dependency bump plus test fixes; the PR touches more than 10 files only because of go.sum.

  • Expect fork DCR scope defaults in the CIMD test (fork 16c2fba makes ValidateScopes default an omitted scope to scopes_supported); comment in cimd_decorator.go updated.
  • Mark fork vMCP Config.WriteTimeout and SessionOwnerAdvertiseURL as intentionally unmapped by upstream buildServeConfig (fork CLI uses server.New); documented in serve.go.
  • Add upstream's Update override to the Terminate storage stub; the merge kept the fork stub that only overrides Upsert/Create, so no failure was injected.
  • Give restore identity tests iss and sub claims, since sessions bind on (iss, sub) since v0.29.3.
  • Mark upstream webhook test requests as requests (IsRequest), because fork f22ee7f skips non-requests in the validating webhook middleware.
  • Pin release.name: toolhive-operator in the operator namespace-scope helm-unittest, because fork 9b83a5e names RBAC per release (operator.rbacName).
  • Bump golang.org/x/net to v0.60.0 to clear govulncheck GO-2026-6603/6610/6611/6612/6617 (all in v0.58.0). This pulls newer x/crypto, mod, sync, sys, term, text; go mod tidy also dropped a duplicate go-openapi require and stale go.sum lines (about 450 go.sum lines).
  • Expect the fork Redis CEL message in the envtest suite (it includes the deprecated address alias).

We stay on GitHub-hosted runners. The jobs that "did not run" on #20 were cancelled because no hosted runner was acquired (org capacity), not because of config, so there are no runs-on changes.

Type of change

  • Bug fix
  • New feature
  • Refactoring (no behavior change)
  • Dependency update
  • Documentation
  • Other (describe):

Test plan

  • Unit tests (task test)
  • E2E tests (task test-e2e)
  • Linting (task lint-fix)
  • Manual testing (describe below)

Manual testing and other checks run:

  • task helm-unittest: 50/50 pass
  • task operator-test-integration: pass (after the Redis CEL commit)
  • Embedding-server envtest suite with ginkgo --repeat=4: 5/5
  • govulncheck with GOTOOLCHAIN=go1.27.2: only GO-2026-5932, which is already ignored
  • task license-check: pass
  • Local kind e2e: focused Rate Limiting 3/3; full operator e2e 72/76. The 4 failures are VirtualMCPServer optimizer specs that need the amd64-only text-embeddings-inference:cpu-latest image on an arm64 laptop (CI preloads it), so they are unverified locally.

Not run: helm ct install. task lint-fix with local golangci-lint v2.14.0 reports 38 pre-existing issues in untouched files (CI's pinned lint passed on #21).

Does this introduce a user-facing change?

No

Special notes for reviewers

🤖 Generated with Claude Code

carlos-lopez-vecino and others added 8 commits October 12, 2026 11:54
Upstream's CIMD decorator resolves an omitted scope with
registration.ValidateScopes so it matches DCR. The fork (16c2fba)
changed ValidateScopes to grant the advertised scopes_supported set
instead of failing when DefaultScopes do not fit, so CIMD now behaves
like the fork's DCR. Update the test case and the stale comment to
the fork behaviour.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Upstream's TestBuildServeConfigMapsSharedFields fails when a Config
field is not set by buildServeConfig. The fork adds WriteTimeout and
SessionOwnerAdvertiseURL to Config, but the fork's vMCP CLI builds the
server with server.New and a full Config, never through Serve. List
both fields as intentionally unmapped instead of adding fork fields to
ServerConfig.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Upstream's Terminate marks a placeholder terminated with
storage.Update, and its test stub injects failures on Update. The
v0.29.3 merge kept the fork's stub, which only overrides Upsert and
Create, so the placeholder fallback tests never saw a failure. Add the
Update override from upstream; keep Upsert because fork session code
still writes with it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The restore tests from 7a6c9a2 were written for the fork's subject
binding. Since the v0.29.3 merge, sessions bind to upstream's (iss,
sub) identity tuple, read from the identity claims, so creating a
session with only Subject set fails with "missing iss claim". Build
the test identities with iss and sub claims; the restore code is
unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The fork (f22ee7f) makes the validating webhook middleware skip
parsed MCP messages that are not requests, so client JSON-RPC
responses pass through. Upstream tests added later (stacklok#5192 body size
cap, HMAC secret resolution) build a ParsedMCPRequest without
IsRequest, so the fork middleware skipped them and the assertions
failed. Set IsRequest as the MCP parser does for real requests.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The fork (9b83a5e) names the operator RBAC objects after the Helm
release so the prod and stg releases do not fight over one
ClusterRole. Upstream's namespace-scope helm-unittest suite (stacklok#5475)
asserts the toolhive-operator-manager-role name but renders with the
default RELEASE-NAME release. Set the release name, as the default
install suite already does.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
govulncheck reports GO-2026-6603, GO-2026-6610, GO-2026-6611,
GO-2026-6612 and GO-2026-6617 (HTTP/2 DoS and framing issues) in
golang.org/x/net v0.58.0, all fixed in v0.60.0. The bump pulls newer
golang.org/x/crypto, mod, sync, sys, term and text. go mod tidy also
drops a duplicate go-openapi require line and stale go.sum entries
left by the upstream merges.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The v0.28.3 merge kept redis.address as a deprecated alias of addr
on MCPExternalAuthConfig (8d09330), so the CEL rule message reads
"exactly one of addr (or its deprecated alias address) or
sentinelConfig must be set". Upstream's RedisStorageConfig validation
envtest expects the message without the alias and fails. Match the
fork message until the alias is dropped.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@jgpelaez jgpelaez changed the title Fix failing CI checks left by upstream merges fix: failing CI checks left by upstream merges Oct 12, 2026
@github-actions github-actions Bot added size/M and removed size/M labels Oct 12, 2026
@carlos-lopez-vecino
carlos-lopez-vecino merged commit ef291f7 into dp-stable Oct 12, 2026
40 checks passed
@carlos-lopez-vecino
carlos-lopez-vecino deleted the PAIINFRA-228/fix-ci-failures branch October 12, 2026 11:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants