Repository navigation
Conversation
briankane
requested review from
FogDong,
anoop2811,
barnettZQG,
chivalryq,
roguepikachu,
wangyikewxgm,
wonderflow and
yangsoon
as code owners
October 15, 2026 02:01
3 of 5 tasks
briankane
force-pushed
the
stack/22-go-1.27
branch
from
October 15, 2026 13:03
0440e35 to
4bf8ced
Compare
forEach landed in pkg and workflow after both moved to Go 1.27.1 and k8s 0.37 (controller-runtime 0.25), so the loop work needs that line. Pins: pkg a754071 and workflow 53204a3 (which add forEach keys, pkg#154 and workflow#273), and prism dba7491 (its own 1.27 bump, which no longer needs the apiserver-runtime replace). The replace block is the union of ours and KubeVela master's. KubeVela itself stays on the fork commit the stack pins, which carries the expression APIs this branch's features use. controller-runtime 0.25 adds Apply to client.Client and to the sub-resource clients. Both of our wrappers embed the client, so Apply went straight through: the project query guard, meant to be read-only, could write with it, and the impersonating auth client sent it as VelaUX rather than the user. Both now override Apply, with tests. CI and the Dockerfiles build with Go 1.27.1; envtest runs k8s 1.37.0; staticcheck is v0.8.2 and golangci-lint v2.14.0 (the config was already in the v2 format), installed with go install. ReverseProxy.Director is deprecated from Go 1.26; its four uses stay, marked, since Rewrite changes which headers reach the upstream. golangci-lint v2 reads the v2 config velaux already had, so it reports what 1.60 never could: 43 findings, about half already on main. Repeated strings become constants named for what they are (datastore sort and filter keys, the permission templates' scopes, effect, actions and View permission names, the definition type and data-flow kind "source"), or the existing ones where they mean the same (the expression type kinds). Three WriteString(fmt.Sprintf) become fmt.Fprintf, and DefinitionBase's deprecation notice gets its own paragraph; VelaUX still fills that field for clients that read it, marked. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D7yvmmhDdoDfVVe4b5EpYY Signed-off-by: Brian Kane <briankane1@gmail.com>
briankane
force-pushed
the
stack/22-go-1.27
branch
from
October 16, 2026 16:42
4bf8ced to
554942c
Compare
3 of 5 tasks
Collaborator
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stack 22/23 · next #978
Description of your changes
KubeVela's workflow
forEach(and its item keys) landed in kubevela/pkg (#142, #154) and kubevela/workflow (#261, #273) after both moved to Go 1.27.1 and k8s 0.37 (controller-runtime 0.25), so VelaUX has to follow before it can use it.Pins: pkg
a754071and workflow53204a3, which carry forEach keys (Feat: name forEach items by a key pkg#154, Feat: name forEach items by a key, and read the name as each.key workflow#273), prismdba7491(its own 1.27 bump, Chore: bump Go to 1.27.1 and k8s to v0.37.1 prism#72, which no longer needs theapiserver-runtimereplace). The replace block is the union of ours and KubeVela master's.Applyon the client. controller-runtime 0.25 addsApplytoclient.Clientand the sub-resource clients. Two of our wrappers embed the client, soApplywent straight through them:Both now override
Apply, with tests (query_test.go,auth_client_test.go). Nothing callsApplytoday; this keeps it that way safely.CI and images: Go 1.27.1 in the workflows and Dockerfiles, envtest on k8s 1.37.0, staticcheck v0.8.2, golangci-lint v2.14.0 (
.golangci.ymlwas already in the v2 format; 1.60.1 could not read it), installed withgo install.Lint. golangci-lint v2 reads the v2
.golangci.ymlVelaUX already had, so it reports what 1.60.1 never could: 43 findings, about half already on main. Repeated strings become constants named for what they are (datastore sort and filter keys; the permission templates' scopes, effect, actions and View permission names; the definition type and data-flow kindsource), or the existing ones where they mean the same (the expression type kinds). ThreeWriteString(fmt.Sprintf(...))becomefmt.Fprintf, andDefinitionBase.WorkloadType's deprecation notice gets its own paragraph; VelaUX still fills that field for clients that read it, marked.ReverseProxy.Directoris deprecated from Go 1.26. Its four uses stay, marked:Rewritechanges which headers reach the upstream, which wants its own change with e2e behind it.Fixes #
I have:
yarn lintto ensure the frontend changes are ready for review.make reviewableto ensure the server changes are ready for review.backport release-x.ylabels to auto-backport this PR if necessary.How has this code been tested
Applytests fail without the overrides (the guard's top-levelApplywrote; the auth client's ran asvelaux).Special notes for your reviewer